CT 704 · BEI and BCT · Year IV Part I · 80 marks · 3 hours

Digital Signal Analysis and Processing

A working reader for CT 704, built around every question the Institute of Engineering has set since 2071. This subject is not memorised, it is practised: almost every mark on the paper comes from carrying out a procedure correctly, so the chapters here are written as procedures, the derivations sit behind the formulas that use them, and every theory question ever asked is answered in its own section.

19
past papers read
200
questions, all here
49
theory questions answered
80
marks in the paper
2071 Shrawan to 2082 Bhadra Regular and Back papers Attempt All questions Pass 32 of 80

Where the marks actually areThe same paper, every year

Every question from 19 sittings was transcribed and filed against the seven chapters of the syllabus. The result is unusual and worth knowing before you plan a single hour of revision: all seven chapters appear in all nineteen papers, and the marks each one carries are within a mark or two of the syllabus split, every time. There is no chapter to gamble on and none to drop.

The blueprint of the paper

The order of the questions barely moves. Across all nineteen papers the paper walks the syllabus from front to back, so the question number tells you the chapter before you have read a word of it.

QuestionChapterWhat it asks, nearly every timeMarks
11Energy or power, periodic or not, or a linearity, causality, time invariance and stability test4 to 6
21Output of an LTI system: a convolution sum, or the response to a complex exponential5 to 6
32Define the ROC, then an inverse z-transform by partial fractions, with the ROC deciding the answer6
43Plot the pole zero diagram and sketch the magnitude response, not to scale10
5 and 64Direct form I and II, cascade form, and a lattice or lattice ladder structure10
7 and 85An FIR design by window or Kaiser window, and the Remez exchange algorithm with its flow chart14
96A Butterworth IIR design by bilinear transformation, sometimes by impulse invariance, sometimes with a comparison of the two12 to 15
10 to 127An 8 point FFT by DIT or DIF, and a circular convolution13 to 15

The consequence for revision. Nine procedures carry roughly sixty of the eighty marks: convolution, inverse z-transform, pole zero and magnitude sketch, direct form, lattice, window design, Kaiser design, bilinear Butterworth design, and the FFT butterfly. Practise those nine until they are mechanical and the paper is mostly done.

What repeats, in order

Counting how many of the nineteen papers asked for a thing, rather than how many marks it carried:

Asked inThe thingChapter
18 papersA Butterworth design: order, cutoff, prototype, transform 6
17Pole zero plot and the magnitude response sketch3
17Circular convolution, or a product of DFTs read back as one 7
16Output of an LTI system by convolution1
15Inverse z-transform by partial fractions with a stated ROC 2
15The Remez exchange algorithm and the optimum filter5
14The bilinear transformation, warping and prewarping6
11FIR design by a fixed window, and by the Kaiser window5
11An 8 point FFT, DIT or DIF7
10Lattice or lattice ladder structure and its coefficients4

The Remez exchange algorithm is the single best marks per hour on the paper. It has been asked in fifteen of nineteen sittings, it is always worth 5 to 9 marks, it never changes, and it is pure bookwork: the alternation theorem, the matrix equation, and the flow chart.

How this reader is put together

  • Seven chapters, one per syllabus chapter, each opening with the procedures that chapter is examined on and the derivation behind each one.
  • The question bank holds all 200 questions verbatim, readable by paper or by chapter with the repeats merged, and every one is linked to the card that answers it.
  • Theory solutions answers every theory question the paper has ever set, once, most asked first, filterable by chapter. Derivations are worked in full there.
  • The formula sheet is every formula the paper needs, by chapter and in one scroll, and each formula opens to show where it comes from, because a formula you cannot derive is a formula you will misremember under pressure.
  • Numerical solutions are not here. They are their own section, and this reader does not shorten them into a corner of another page.

Five things that quietly cost marks

  • The ROC decides the answer, not the algebra. Two questions with the same X(z) and different ROCs have different x[n], one causal and one anticausal. Write the ROC down before you invert anything.
  • Not to scale still means labelled. A magnitude sketch earns its marks from the peaks at the poles, the nulls at the zeros, the value at ω=0 and at ω=π, and the symmetry about pi. A smooth unlabelled curve earns almost nothing.
  • Prewarp before you design, in bilinear questions. Designing the analog prototype at the unwarped frequency is the commonest lost block of marks on question 9.
  • State the window you chose and why. A window design answer that does not name the stopband attenuation the window gives has skipped the step the question is testing.
  • Draw the butterfly, do not just list the numbers. In an FFT question the diagram with its twiddle factors and its bit reversed order is most of the mark.

Notation used here

SymbolMeans
x[n], x(n)A discrete time signal. The papers use both brackets for the same thing.
w, omegaDigital frequency in radians per sample, from -pi to pi. The papers write W, w and omega for it.
OmegaAnalog frequency in radians per second, used for the analog prototype in chapter 6.
T, FsSampling period and sampling frequency, with w = Omega T and T = 1/Fs.
u[n], δ[n]Unit step and unit impulse.
M, NFilter length or order in chapters 5 and 6; DFT length in chapter 7.
W_NThe twiddle factor ej2pi/N of the DFT.

This page writes formulas in plain text rather than in mathematical type, so that it stays one file with no external requests and stays readable on a phone. Exponents are written with ^, subscripts in brackets, and pi is spelled out.

The whole subject on one page

Seven chapters, and the topics each one is examined on. The number beside a leaf is how many of the nineteen sittings asked it, so this is not a contents list: it is a map of where the marks are.

CT 70480 marks, 45 hours1. Signals and systems9 marks · 8 hoursConvolution16Energy or power6Periodicity6System properties5Even and odd2Fourier series22. The z-transform6 marks · 4 hoursInverse by partial fractions15The ROC8ROC properties7Convolution property2Definition23. Frequency domain10 marks · 6 hoursPole zero and magnitude17Frequency response5Difference equation2Stability and causality2BIBO stability1FIR against IIR14. Filter structures10 marks · 8 hoursLattice ladder10Direct forms9FIR lattice7Cascade and parallel3Lattice back to H(z)2Number formats15. FIR design15 marks · 6 hoursRemez exchange15Kaiser window11Window method11Gibbs' phenomenon6Choosing FIR or IIR2Analog against digital16. IIR design15 marks · 6 hoursButterworth design18Bilinear transformation13The two mappings compared5Impulse invariance3Spectral transformation27. DFT and FFT15 marks · 7 hoursCircular convolution17Decimation in time11Decimation in frequency8Why the FFT is fast6The DFT5Zero padding2
Every branch is a chapter and every leaf a topic the examiner has actually set, with the number of the nineteen sittings that asked it. A bold leaf was asked in eight sittings or more. The three chapters on the left carry 45 of the 80 marks between them.
What the picture says
  • The right hand chapters are the foundations and the left hand ones are the money. Chapters 5, 6 and 7 carry 45 of the 80 marks and every one of their headline topics is a bold leaf.
  • Nine leaves carry most of the paper. The Butterworth design, the pole zero sketch, circular convolution, convolution, the inverse z-transform, the Remez algorithm, the bilinear transformation, the Kaiser window and the window method are each set in eight sittings or more.
  • Nothing is droppable. All seven chapters appear in all nineteen sittings, and the thinnest branch, chapter 2, still carries six marks every year for what is essentially one procedure.

How to read this reader

Two marks appear under headings all through the chapters, and they are the whole point of building this from the papers rather than from a textbook.

ChipMeans
TOP n/19Asked in 8 or more of the nineteen sittings. There is no version of this paper that does not want it.
HOT n/19Asked in 4 to 7 sittings.
PIN n/19Asked in 1 to 3 sittings. Worth a read, not worth a night.
15Marks the question has actually carried. Several chips mean it has been set at different marks in different years.

Underneath each chip is the list of sittings that asked it, in the paper's own shorthand. Bold is a Regular sitting, plain is a Back sitting.

CodeMonthCodeMonthCodeMonth
BaBaishakhShrShrawanKaKartik
JthJesthaBhBhadraMngMangsir
AsaAshadAshAshwinChChaitra
  • 82 Bh is 2082 Bhadra, a Regular sitting; 81 Ba is 2081 Baishakh, a Back sitting.
  • Ash and Asa are different months. 2076 Ashwin and 2070 Ashad would be separate papers.
  • The count is over the 19 CT 704 papers in this reader, 2071 Shrawan to 2082 Bhadra. It does not include the BEX paper EX 753, which sets much of the same subject and would push every count higher.
The four sections behind the chapters
  • Theory answers answers every theory question the paper has set, once, most asked first, with the derivation written out.
  • Numerical solutions works all 108 computational questions, grouped by method, with every number computed rather than typed.
  • Question bank reproduces all 200 questions verbatim, by paper or by chapter.
  • The chapters themselves carry no questions at all: they are the study content, in the order the syllabus teaches it.

Chapter 1 · 8 hours · 9 marks · questions 1 and 2, every paper

Discrete-time signals and systems

What a discrete time signal is, the handful of sequences everything is built from, how to bend one in time, how to classify a system by testing it, and the one operation the whole subject rests on: the convolution sum.

What this chapter is about
  • Signals: the elementary sequences, the time operations, and the two classifications the paper asks for, energy against power and periodic against aperiodic.
  • Systems: five properties, each with a test you can carry out in three lines: linear, time invariant, causal, stable, static.
  • LTI systems: why the impulse response is enough to know everything, and the convolution sum that turns it into an output.
  • Difference equations: the other description of the same system, and the split into zero input and zero state response.
Where it fits
  • This chapter defines the objects. Chapter 2 gives them a transform, chapter 3 gives them a frequency response, chapter 4 gives them a circuit.
  • Convolution returns twice: as multiplication in chapter 2, and as circular convolution in chapter 7.
  • The system tests return whenever a filter has to be shown stable.
What you will learn
  1. 1.1 Discrete time signals and the elementary sequences, Even and odd parts of a signal
  2. 1.2 Energy signals and power signals
  3. 1.3 Testing a signal for periodicity
  4. 1.4 Shifting, folding and scaling a sequence
  5. 1.5 The discrete time Fourier series, and its properties
  6. 1.6 The discrete time Fourier transform, and its properties
  7. 1.7 The five system properties, and how to test each one
  8. 1.8 The convolution sum, and four ways to do it
  9. 1.9 The frequency response of an LTI system
  10. 1.10 Sampling a continuous time signal, and the spectrum of the samples
  11. 1.11 Last minute recall, chapter 1
How it is examined
  • Question 1 is always from here, worth 4 to 6 marks: energy or power, periodic or not, or a linearity and time invariance test.
  • Question 2 is always the convolution, worth 5 to 6 marks.
  • Both halves are procedures. Nothing in this chapter needs an essay.

1.1Discrete time signal, basic signal types

Discrete time signals and the elementary sequences PIN 2/19

76 Ch · 74 Ch2+33+2

Discrete time signal A signal defined only at discrete instants, written as a sequence of numbers x[n] where n is an integer. It is undefined between samples, not zero.
  • Where it comes from: sampling an analog signal, x[n] = xa(nT), where T is the sampling period and Fs = 1T the sampling frequency.
  • Digital frequency: a sinusoid cos(Omega t) sampled at T becomes cos(Omega T n), so the digital frequency is w = Omega T = 2π F / Fs, in radians per sample, and only the range -pi to pi is distinguishable.
  • Three ways to write one: a closed form such as x[n]=(12)nu[n]; a list with the origin marked, x[n] = {1, 2, 3, 1} with an arrow or an underline under n=0; or a stem plot.
δ[n]=1 at n=0, 0 otherwisethe unit impulseu[n]=1 for n0, 0 for n<0the unit stepr[n]=nu[n]the unit rampx[n]=anu[n]the real exponentialx[n]=Acos(ω0n+ϕ)the sinusoidx[n]=ejω0nthe complex exponential
  • The two relations that get used constantly: u[n] = sum of δ[nk] for k from 0 to infinity, and δ[n]=u[n]u[n1].
  • The sifting property: any sequence is a sum of shifted impulses, x[n] = sum over k of x[k]δ[nk]. This one line is what makes convolution possible, so it is the first line of the convolution derivation.
  • A gated exponential such as (12)n {u[n]u[n3]} is the exponential kept for n=0, 1, 2 and zero elsewhere. The paper writes impulse responses this way constantly: read off the first and last index before doing anything else.
In the exam
  • Read the gate first. u[n+2]u[n2] runs from n=2 to n=1, four samples, not five. An off by one here loses the whole convolution.
  • Mark the origin in every sequence you write down. An unmarked {2, 1, 0.5, -1} is ambiguous and the marker will assume n=0 at the first entry.

The sifting property at the end of this card is the first line of the convolution derivation, and the impulse train it describes is what makes sampling repeat a spectrum.

Even and odd parts of a signal PIN 1/19

71 Shr4+5

Even and odd A signal is even if x[n]=x[n], symmetric about the vertical axis, and odd if x[n] = -x[n], antisymmetric, which forces x[0] = 0.

Every signal splits into one of each, and the split is unique.

xe[n]=x[n]+x[n]2the even partxo[n]=x[n]x[n]2the odd partx[n]=xe[n]+xo[n]they add back to the signal

The procedure: tabulate x[n]; write x[n] underneath it by reversing the table about n=0; add the two rows and halve for the even part; subtract and halve for the odd part. Check that xo[0] came out zero and that the two parts add back.

In the exam
  • Line the tables up on n=0, not on the first entry. Reversing a list without tracking the origin is the only way to get this wrong.
  • Check x[0]. The odd part must be zero there, every time. It is a free check and it catches a reversal error immediately.

The same split explains the conjugate symmetry of every spectrum in the subject: see the DTFT properties, and the free check it gives you in every FFT question.

Practise thisconvolution 15 worked

1.2Energy signal, power signal

Energy signals and power signals HOT 6/19

82 Bh · 79 Bh · 79 Ba · 75 Ch · 74 Ash · 72 Ka3+42+32+2

The two definitions The energy of x[n] is E = sum over all n of |x[n]|2. The average power is P = limit as N goes to infinity of 12N+1 times the sum of |x[n]|2 from -N to N.
E=n=|x[n]|2P=limN12N+1n=NN|x[n]|2energy signal: 0<E<, and then P=0power signal: 0<P<, and then E=
Energy signalPower signal
EnergyFinite and non zeroInfinite
PowerZeroFinite and non zero
Typical shapeDies away, or lasts a finite timeGoes on for ever without dying: periodic signals, the unit step
Examplesδ[n]; anu[n] with |a| < 1; any finite length sequenceu[n], with P = 12; A cos(ω0 n), with P = A2/2; ejω0n, with P = 1
Can it be bothNo. A signal is one, the other, or neither. Neither happens: n u[n] has infinite energy and infinite power.

The procedure

  • Try energy first. Form sum |x[n]|2 over the range where x is non zero. If it converges to a finite number, it is an energy signal and you are done.
  • If it diverges, try power. For a periodic signal the limit collapses to the average over one period, P = 1N sum over one period of |x[n]|2, which is much easier than the limit.
  • For any complex exponential of the form e^(j(ω0 n + ϕ)), the magnitude is 1 at every n, so E is infinite and P = 1: it is a power signal. This is the question the paper actually asks, in five sittings.
The two the paper keeps setting x[n] = ej(πn/2+4pi/7). |x[n]|2 = 1 for every n, so E = sum of 1 = infinity, and P = lim 12N+1 times (2N+1) = 1. Finite non zero power: a power signal.
x[n]=u[n]. E = sum from 0 to infinity of 1 = infinity; P = lim (N+1)/(2N+1) = 12. A power signal.
x[n]=δ[n]. E = 1, finite, so P = 0. An energy signal.

Energy signals are the ones with a DTFT; power signals are the ones with a Fourier series. The same absolute summability condition returns as BIBO stability.

1.3Periodicity of a discrete time signal

Testing a signal for periodicity HOT 4/19

81 Bh · 80 Bh · 80 Ba · 78 Bh2+254

Periodic x[n] is periodic if x[n+N]=x[n] for all n, for some positive integer N. The smallest such N is the fundamental period. The integer requirement is the whole difference from continuous time, where any period is allowed.
for x[n]=cos(ω0n+ϕ) or ejω0n:periodicω02π is rationalω02π=kN in lowest termsfundamental period N

The procedure

  • Read off ω0, the coefficient of n inside the cosine or the exponent. In cos(2π n/5) it is 2π/5; in ejπn/16 it is pi/16.
  • Form ω0/(2π) and reduce the fraction to lowest terms. If it does not come out as a ratio of integers, the signal is aperiodic and you stop.
  • The denominator is N, the fundamental period of that component.
  • For a sum or a product of periodic components, the whole signal is periodic with period N = LCM(N1, N2, ...). If any one component is aperiodic, the whole thing is aperiodic.
Worked, the ones actually set x[n] = cos(2π n/5) + sin(pi n/3). First: ω0/(2pi) = 1/5, so N1 = 5. Second: ω0 = pi/3, so ω0/(2pi) = 1/6, N2 = 6. N = LCM(5, 6) = 30.
x[n] = ejπn/16 cos(n pi/17). First: (pi/16)/(2pi) = 1/32, N1 = 32. Second: (pi/17)/(2pi) = 1/34, N2 = 34. N = LCM(32, 34) = 544.
x[n] = cos(pi n/2) cos(pi n/4). N1 = 4, N2 = 8, N = 8.
x[n] = e^(j(pi n/3 + π/4)). (pi/3)/(2pi) = 1/6, so N = 6. The phase π/4 shifts the signal and cannot change its period.
In the exam
  • The phase never matters. Only the coefficient of n decides periodicity.
  • Reduce the fraction. ω0 = 4 pi/6 gives 1/3 after reduction, so N = 3, not 6.
  • Write the conclusion as a sentence. The marks are for the value of N and for saying periodic or aperiodic, not for the arithmetic in between.

The rule that ω0/2pi must be rational is the reason the DFT assumes a period of N, and the reason a signal that does not fit the window leaks across the whole spectrum.

Practise thisperiodicity and the fundamental period 4 worked

1.4Transformation of the independent variable

Shifting, folding and scaling a sequence

The paper asks this as plot x[2n+3] where x[n] = {...}. It is worth doing by a fixed recipe, because doing the operations in the wrong order gives a wrong plot that looks plausible.

x[nk]delay by kshifts the sequence rightx[n+k]advance by kshifts the sequence leftx[n]foldingreflects about n=0x[an]decimation, a>1keeps every a-th samplex[n/a]interpolationspreads the samples out

The safe procedure, for anything of the form x[an+b]

  • Tabulate. Write n against x[n] for every n where x[n] is non zero.
  • Work out which n you need. The new sequence y[n]=x[an+b] is non zero when an + b lands inside the range where x is non zero. Solve for n at both ends.
  • Evaluate sample by sample. For each of those n, compute an + b and read x at that index. Do not try to shift and fold the picture in your head.
  • Mark the new origin and plot.
Worked, 2076 Chaitra x[n] = {1, 2, 0, -1, -3, -4} starting at n=0. For y[n]=x[2n+3]: x is non zero for 0 <= -2n + 3 <= 5, that is -1 <= n <= 1.5, so n=1, 0, 1.
n=1 gives x[5] = -4; n=0 gives x[3] = -1; n=1 gives x[1] = 2.
y[n] = {-4, -1, 2} for n=1, 0, 1.
In the exam
  • Never shift then scale by eye. The index arithmetic above cannot go wrong; the picture method can.
  • Say how many samples survive. Decimation by 2 throws half of them away, and the marker is checking that you noticed.

Folding and shifting are exactly the two operations inside the graphical convolution, so get them right here and that question becomes bookkeeping.

1.5Discrete time Fourier series and properties

The discrete time Fourier series, and its properties PIN 3/19

76 Ash · 73 Shr · 72 Ch4+334

Discrete time Fourier series A periodic sequence of period N is written as a sum of N harmonically related complex exponentials. Only N of them are distinct, because ej2π(k+N)n/N=ej2πkn/N: in discrete time the harmonics run out, which is the one real difference from the continuous case.
x[n]=k=0N1ckej2πkn/Nsynthesisck=1Nn=0N1x[n]ej2πkn/Nanalysisck+N=ckthe coefficients are periodic too
  • Where the analysis equation comes from. Multiply the synthesis equation by ej2πmn/N, sum over one period, and swap the two sums. The inner sum is 1N sum over n of ej2π(km)n/N, which is 1 when k = m and 0 otherwise. That is orthogonality, and it kills every term but one, leaving c[m].
  • Why the inner sum is zero. It is a geometric series with ratio ej2π(km)/N, and for k not equal to m the ratio is not 1, so the sum is (1 - ej2π(km))/(1 - ratio), whose numerator is zero.
  • For a real x[n], c[-k] = c*[k], so |ck| is even and the phase is odd. Only N/2 + 1 coefficients need computing.
  • The power spectrum is the set |ck|^2, and Parseval's relation says 1N sum of |x[n]|2 over one period equals sum of |ck|^2: the average power is the sum of the powers of the harmonics.
Propertyx[n], period Nck
Linearitya x1[n] + b x2[n]a c1[k] + b c2[k]
Time shiftx[nm]ck ej2πkm/N
Frequency shiftx[n] ej2πln/Nc[k - l]
Time reversalx[n]c[-k]
Conjugationx*[n]c*[-k]
Periodic convolutionsum over one period of x1[m] x2[n-m] N c1[k] c2[k]
Multiplicationx1[n]x2[n]periodic convolution of c1 and c2
Parseval1N sum |x[n]|2sum |ck|^2
Dirichlet's conditions Sufficient conditions for the series to converge to the signal, over one period: absolutely summable, or absolutely integrable in continuous time; a finite number of maxima and minima; and a finite number of finite discontinuities. At a jump the series converges to the midpoint, and the partial sums overshoot it by about 9 percent however many terms are taken. That overshoot is Gibbs' phenomenon, and it is the reason a truncated ideal filter ripples.
Worked example, answer checked by code

Find the Fourier series coefficients of x[n] = {1, 1, 0, 0} repeated with period N = 4.

ck=14n=03x[n]ej2πkn/4=14(1+ejπk/2)only x[0] and x[1] are non zero
  • c[0] = (1/4)(1 + 1) = 0.5
  • c[1] = (1/4)(1 - j) = 0.25 - j0.25, magnitude 0.3536, angle -45 degrees
  • c[2] = (1/4)(1 - 1) = 0
  • c[3] = (1/4)(1 + j) = 0.25 + j0.25, magnitude 0.3536, angle +45 degrees

So c = {0.5, 0.25 - j0.25, 0, 0.25 + j0.25}. Two checks: c[3] = c*[1] as a real signal demands, and Parseval holds, since (1/4)(1 + 1) = 0.5 and 0.25 + 0.125 + 0 + 0.125 = 0.5.

In the exam
  • Say orthogonality by name when the question asks you to explain the process of finding the coefficients. That word is the answer; the algebra is the support.
  • N coefficients, not infinitely many. Saying that the discrete series has a finite number of distinct harmonics is worth a mark on its own.

Dirichlet's conditions here are where Gibbs' phenomenon comes from, and the orthogonality argument returns in the DFT, which is this series with the sum truncated to N points.

1.6Discrete time Fourier transform and properties

The discrete time Fourier transform, and its properties

Discrete time Fourier transform For an aperiodic sequence, X(ejω) = sum over all n of x[n]ejωn. It is a continuous function of w and periodic in w with period 2π, because ej(ω+2pi)n = ejωn for integer n. All the information is therefore in one period, and -pi to pi is the one usually drawn.
X(ejω)=n=x[n]ejωnanalysisx[n]=12πππX(ejω)ejωndωsynthesisexists when n|x[n]|<absolutely summable
Propertyx[n]X(ejω)
Linearitya x1[n] + b x2[n]a X1 + b X2
Time shiftx[nk]ejwk X(ejω)
Frequency shiftejω0nx[n]X(e^j(w - ω0))
Time reversalx[n]X(e^-jw)
Conjugationx*[n]X*(e^-jw)
Convolutionx1[n]*x2[n]X1 . X2
Multiplicationx1[n] . x2[n]periodic convolution of X1 and X2, divided by 2π
Differentiation in wn x[n]j dX(ejω)/dw
Parsevalsum |x[n]|2(1/2pi) INT |X(ejω)|^2 dw
Real x[n]X(e^-jw) = X*(ejω): magnitude even, phase odd
x1[n]x2[n]12πππX1(ejθ)X2(ej(ωθ))dθ

The derivation, in one move.

X(ejω)=nx1[n]x2[n]ejωn=12πππX1(ejθ)[nx2[n]ej(ωθ)n]dθ=12πππX1(ejθ)X2(ej(ωθ))dθ
  • Why this property matters more than it looks. The FIR window method is exactly this: h[n]=hd[n]w[n] in time, so the designed response is the ideal brick wall convolved with the window's own spectrum. The window's main lobe becomes the transition band and its side lobes become the ripple. Every row of the window table in chapter 5 is a consequence of this one line.
  • The convolution is periodic, over one period of 2π, because both spectra are periodic. In the DFT the same argument gives circular convolution.
Fourier seriesFourier transform
Applies toPeriodic signalsAperiodic signals of finite energy
SpectrumDiscrete lines at multiples of the fundamental Continuous in frequency
ProducesA set of numbers ckA function X(ejω)
OperationAn average over one periodA sum over all time
DescribesA power signalAn energy signal
RelationLet the period grow without bound: the lines close up and the series becomes the transform
Worked example, answer checked by code

Find the DTFT of x[n]=(12)nu[n], and its magnitude at ω=0 and ω=π.

X(ejω)=n=0(12)nejωn=n=0(0.5ejω)n=110.5ejωa geometric series, |0.5ejω|=0.5<1
  • At ω=0: X = 1/(1 - 0.5) = 2, the DC gain.
  • At ω=π: ejπ = -1, so X = 1/(1 + 0.5) = 0.667.
  • At ω=π/3: 0.5 ejπ/3 = 0.25 - j0.433, so X = 1/(0.75 + j0.433) = 1.1547 angle -30 degrees.

The response falls from 2 at DC to 0.667 at Nyquist, so this is a low pass system, which is what a decaying exponential impulse response should give.

The multiplication property on this card is the whole explanation of the window method and of Gibbs oscillation. Evaluated on the unit circle it is the z-transform; sampled at N points it is the DFT.

1.7Discrete time system properties

The five system properties, and how to test each one HOT 5/19

82 Ba · 80 Bh · 76 Ch · 75 Ash · 74 Ch2+2+22+23+3

The paper gives a relation between x[n] and y[n] and asks for two or three of these. Each test is three lines. Do them in this order and use the same layout every time.

PropertyDefinitionThe test
Static or dynamicStatic, or memoryless, if y[n] depends only on x[n] at the same nLook for any x[nk], x[n+k] or a sum over past values. Any of them makes it dynamic.
LinearObeys superposition: the response to a1 x1[n] + a2 x2[n] is a1 y1[n] + a2 y2[n]Compute the output for the weighted sum of two inputs, compute the weighted sum of the two separate outputs, and compare.
Time invariantA shift of the input produces the same shift of the outputCompute y[n, k], the response to x[nk]. Compute y[nk] by replacing n with n-k in the output expression. They must be identical.
Causaly[n] depends only on present and past inputsLook for any x[n+k] with k positive, or any index that runs ahead of n.
Stable (BIBO)Every bounded input gives a bounded outputAssume |x[n]| <= Mx and bound |y[n]|. For an LTI system the test is the much simpler one below.
linearity:T{a1x1[n]+a2x2[n]}=a1T{x1[n]}+a2T{x2[n]}time invariance:y[n,k]=y[nk],y[n,k]=T{x[nk]}causality:h[n]=0 for n<0(LTI form)BIBO stability:n|h[n]|<(LTI form)

The five relations the paper keeps using

  • y[n] = x^2[n]. Non linear, because the square of a sum is not the sum of the squares. Time invariant, static, causal, and stable.
  • y[n]=x[n]. Linear, and not time invariant: shifting the input shifts the output the other way. Not causal, because y[1] needs x[1].
  • y[n]=x[n]+x[n]. Linear, not time invariant, and not causal, for the same reason.
  • y[n]=x[n2]. Linear, because it only re-indexes, and not time invariant.
  • y[n] = sum from k=0 to n of x[k]. The accumulator. It has memory, it is linear, it is causal, it is time variant because the lower limit is fixed at 0 rather than moving with n, and it is unstable: a bounded input such as u[n] gives y[n] = n + 1, which grows without bound.
  • y[n] = cos(5 pi n/8 + π/4). There is no x[n] in it at all, so the output does not respond to the input: the zero input gives a non zero output, which breaks superposition. Non linear.
In the exam
  • Show both sides. A linearity answer that only states the conclusion scores about half. Write T{a1x1 + a2x2}, write a1y1 + a2y2, then say whether they match.
  • For time invariance, keep the two things apart on the page: y[n,k] on one line, y[nk] on the next. Mixing them is the usual error.
  • An accumulator is the standard trap. It looks causal and harmless and it is both time variant and unstable.

For an LTI system all five tests collapse into statements about h[n]: the convolution card gives them, and chapter 3 turns them into statements about the ROC.

1.8LTI systems: the convolution sum and its properties

The convolution sum, and four ways to do it TOP 14/19

82 Bh · 81 Bh · 81 Ba · 79 Bh · 79 Ba · 78 Bh · 76 Ch · 76 Ash · 75 Ch · 75 Ash · 74 Ash · 73 Shr · 72 Ch · 72 Ka3+25+25

Why the impulse response is enough Write the input as a sum of shifted impulses, x[n] = sum over k of x[k]δ[nk]. Apply a linear system: the response is the sum of the responses, sum over k of x[k] T{δ[nk]}. Apply time invariance: T{δ[nk]} is just h[nk]. That gives the convolution sum, and it is why h[n] alone describes an LTI system completely.
y[n]=k=x[k]h[nk]=x[n]*h[n]=k=h[k]x[nk]commutative: fold whichever is shorter

The four methods, and when each is quickest

  • Tabular, or the multiplication method. Write x along the top and h down the side, fill the grid with products, and add along the anti diagonals. Fastest for two short finite sequences, which is what the exam gives. The output starts at n = (first index of x) + (first index of h) and has length Nx+Nh1.
  • Graphical. Fold h[k] to h[k], slide it by n, multiply overlapping samples, add. Slow, but it is what the question means when it says using graphical method, and you must draw the overlap at each n.
  • Analytical. For infinite sequences such as anu[n] against u[n], write the sum, fix the limits from where both sequences are non zero, and sum the geometric series. This is the method for anything with u[n] in it.
  • By transform. Y(z) = X(z)H(z), then invert. Usually slower in an exam unless the z-transforms are already in front of you.
The length and position rule If x runs from n1 to n2 and h from m1 to m2, then y runs from n1 + m1 to n2 + m2, and its length is (n2 - n1 + 1) + (m2 - m1 + 1) - 1.
The free check: sum of y = (sum of x) times (sum of h). Do this every time; it catches an arithmetic slip in one line.

Properties of convolution, and therefore of LTI systems

PropertyStatementWhat it means for systems
Commutativex * h = h * xWhich block you call the input does not matter
Associative(x * h1) * h2 = x * (h1 * h2)Two systems in cascade have impulse response h1 * h2
Distributivex * (h1 + h2) = x * h1 + x * h2Two systems in parallel have impulse response h1 + h2
Identityx * δ[n]=x[n]The impulse is the do nothing system
Shiftx[n]*δ[nk]=x[nk]Convolving with a shifted impulse is a delay
In the exam
  • Write both index ranges down before you start. Most lost marks here are an output placed at the wrong n, not a wrong number.
  • Use the sum check. It takes five seconds and the question often says also check the answer, which is asking for exactly this.
  • When the input is a complex exponential, do not convolve at all: use the eigenfunction result in chapter 3, y[n]=H(ejω0)x[n]. Three papers have set that as a convolution question to see whether you notice.

Convolution is the thread of the subject. It becomes a product under the z-transform, a product again under the DTFT, and a circular convolution under the DFT. Its cascade and parallel properties are what the cascade and parallel structures realize.

Practise thisconvolution 15 worked

1.9Frequency response of an LTI system

The frequency response of an LTI system

Frequency response H(ejω) = sum over n of h[n]ejωn, the DTFT of the impulse response. It is what the system does to a complex exponential of frequency w, and like every DTFT it is periodic in 2π.
x[n]=Aejω0ny[n]=AH(ejω0)ejω0nx[n]=Acos(ω0n+ϕ)y[n]=A|H(ejω0)|cos(ω0n+ϕ+H(ejω0))

An exponential comes out as the same exponential, scaled and phase shifted. That makes it an eigenfunction of every LTI system, with H(ejω0) the eigenvalue.

  • The proof is three lines: put A ejω0(nk) into the convolution sum, pull A ejω0n out of it, and what is left is sum over k of h[k] ejω0k, which is H(ejω0).
  • What a filter can and cannot do. It scales the amplitude and shifts the phase. It cannot change the frequency and it cannot create a frequency that was not in the input. Every filter in this subject rests on that sentence.
  • Do not convolve when the input is an exponential or a sinusoid. Evaluate H(ejω) at that one frequency instead. Several papers set this as though it were a convolution question.
  • A constant input is the ω=0 case, so its output is the input times the DC gain H(ej0) = sum of h[n].
In the exam

This is question 2 in several sittings, usually with h[n]=(12)nu[n] and an input of 5 ejπn/3, sometimes with a constant added. Answer it term by term: each input frequency is scaled by H at that frequency, and the results are added. The full treatment of H(ejω), including the pole zero sketch, is chapter 3.

The full treatment, including the pole zero sketch that seventeen sittings ask for, is chapter 3.

1.10Sampling a continuous time signal, spectral properties

Sampling a continuous time signal, and the spectrum of the samples

Sampling Taking x[n] = xa(nT) at a uniform spacing T. The sampling frequency is Fs = 1T. The spectrum of the sequence is the spectrum of the analog signal repeated every Fs and summed, which is the single fact the whole of this section rests on.
1 inf X(e^jw) = --- SUM Xa( j ( w - 2 pi k ) / T ) T k=-inf or, in analog frequency, 1 inf Xs( jW ) = --- SUM Xa( j ( W - k Ws ) ) Ws = 2 pi / T T k=-inf FREQUENCY MAPPING w = W T = 2 pi F / Fs radians per sample F = 0 -> w = 0 F = Fs / 2 -> w = pi the folding frequency F = Fs -> w = 2 pi which is the same as w = 0
The sampling theorem A signal band limited to Fmax is recovered exactly from its samples if Fs > 2 Fmax. The rate 2 Fmax is the Nyquist rate, and Fs/2 is the folding frequency.
  • Why the repeats appear. Sampling is multiplication by an impulse train, whose own spectrum is an impulse train. Multiplying in time convolves in frequency, and convolving with an impulse train makes copies. The multiplication property from the last card is doing all the work.
  • Aliasing is what happens when Fs is too low: the copies overlap, high frequencies fold back and appear as low ones, and no processing afterwards can undo it. A 6 kHz tone sampled at 8 kHz comes back as 2 kHz, because 8 - 6 = 2.
  • The defence is an analog anti alias filter before the ADC, cutting everything above Fs/2. This is why a digital filter always has an analog filter in front of it.
  • Reconstruction is an ideal low pass filter of gain T and cutoff Fs/2, which in the time domain interpolates with sinc functions, xa(t) = sum of x[n] sinc((t - nT)/T). Real converters use a hold followed by a smoothing filter, which is why a reconstruction filter is needed at the output too.
  • Only -pi to pi is distinguishable. Two analog frequencies that differ by a multiple of Fs land on the same w, which is another way of saying the same thing.
Worked example, answer checked by code

An analog signal xa(t) = 3 cos(2π 2000 t) + 5 sin(2π 6000 t) is sampled at Fs = 8 kHz. What digital frequencies appear, and is anything aliased?

  • The folding frequency is Fs/2 = 4 kHz.
  • The 2 kHz component: ω=2π (2000)/8000 = 0.5 pi, below folding, so it survives untouched.
  • The 6 kHz component: ω=2π (6000)/8000 = 1.5 pi, which is above pi. It folds to 1.5 pi - 2π = -0.5 pi, and a negative frequency in a real signal is read as 0.5 pi with the sign of the sine reversed.

Both components land on ω=0.5 pi, so the 6 kHz tone is aliased and appears as a 2 kHz tone. The sampled sequence is x[n] = 3 cos(0.5 pi n) - 5 sin(0.5 pi n), and the two tones can never be separated again. To keep them apart, Fs would have to exceed 12 kHz.

The spectrum repeating every 2π is the same overlap that impulse invariance suffers, and the reason the bilinear transformation is preferred. The 2π periodicity of every plot in chapter 3 comes from here.

1.11Last minute recall

Last minute recall, chapter 1

Must memorise
  • xe = (x[n]+x[n])/2, xo = (x[n]x[n])/2, and xo[0] = 0 always.
  • Periodic if and only if ω0/2pi is rational, and then N is its denominator in lowest terms. No pi in ω0 means aperiodic. Several components: take the LCM.
  • Energy signal: 0 < E < infinity and P = 0. Power signal: 0 < P < infinity and E = infinity. Periodic means power. |ejθ| = 1 means power, with P = 1.
  • E for anu[n] is 1/(1 - a2); P for u[n] is 12, not 1.
  • y[n] = sum of x[k]h[nk]. The output starts at nx + nh and has Lx + Lh - 1 samples.
  • LTI causal if and only if h[n] = 0 for n < 0. LTI stable if and only if sum |h[n]| is finite.
  • ejωn in gives H(ejω)ejωn out. Never convolve these.
  • X(ejω) = (1T) sum of Xa( j(w - 2π k)/T ), and Fs > 2 Fmax.
  • ck = 1N sum of x[n] ej2πkn/N, and only N of them are distinct.
Most repeated in this chapter, in order
  1. Convolution, find y[n] TOP 16/19
  2. Energy against power HOT 6/19 and the fundamental period HOT 6/19, usually as the two halves of one question
  3. Test a system for linearity, time invariance, causality and stability HOT 5/19
  4. Even and odd parts PIN 2/19 and plotting a transformed sequence PIN 2/19
  5. The Fourier series coefficients PIN 2/19

Questions 1 and 2 come from this chapter in almost every sitting. If time is short, learn the convolution sum and the energy against power test, and leave the Fourier series: it has been asked twice in nineteen papers and never for more than five marks.

Chapter 2 · 4 hours · 6 marks · question 3, every paper

The z-transform

The transform that turns convolution into multiplication and a difference equation into algebra. The examinable core is small and fixed: define it, state the ROC and its properties, and invert a rational X(z) by partial fractions with the ROC deciding which answer is right.

What this chapter is about
  • The definition, bilateral and unilateral, and why the ROC has to be quoted with it.
  • The ROC: its properties, and the four shapes it can take.
  • The properties, above all the convolution property, which is the reason the transform exists.
  • The inverse by partial fractions, which is question 3 in every single paper.
Where it fits
  • Chapter 1 gave convolution; here it becomes multiplication.
  • Chapter 3 evaluates H(z) on the unit circle to get the frequency response.
  • Chapters 4, 5 and 6 all start from an H(z) written as a ratio of polynomials.
What you will learn
  1. 2.1 The definition, The region of convergence, and its properties, The standard pairs
  2. 2.2 The properties, The convolution property, derived
  3. 2.3 Inverting X(z) by long division, Inverting X(z) by partial fractions
  4. 2.4 Last minute recall, chapter 2
How it is examined
  • Always question 3, and always in two parts: 1 to 3 marks of bookwork, then 5 or 6 marks of inversion.
  • The bookwork half is one of three things: define the z-transform, define the ROC, or list the properties of the ROC.
  • The inversion half always states an ROC, and the ROC is the point of the question.

2.1Definition, convergence and the region of convergence

The definition PIN 2/19

82 Bh · 79 Ba1+5

The z-transform The z-transform of a discrete time signal x[n] is the power series X(z) = sum over all n of x[n]zn, where z is a complex variable. It converts a sequence into a function of z, and it exists only for the values of z that make the series converge; that set of values is the region of convergence.
BILATERAL X(z) = sum from n = -inf to +inf of x[n] z^-n UNILATERAL X(z) = sum from n = 0 to +inf of x[n] z^-n z = r e^(jw) so X(z) = sum x[n] r^-n e^(-jwn) On the unit circle r = 1: X(z)| = X(e^jw) = the DTFT z = e^jw
  • The transform is not complete without its ROC. Two different sequences, one right sided and one left sided, can produce exactly the same algebraic X(z); only the ROC tells them apart. This is why every exam question states one.
  • The bilateral form is the one meant unless the question says otherwise. The unilateral form ignores n < 0 and is used for difference equations with initial conditions.
  • It generalises the DTFT. Writing z = r ejω shows the z-transform is the DTFT of x[n] r^-n. The extra factor r^-n is what lets the sum converge for sequences whose DTFT does not exist, such as u[n] or a growing exponential.
  • Why it is useful: convolution becomes multiplication, a difference equation becomes a ratio of polynomials, and stability and causality become statements about where the poles sit.

Set z = ejω and this is the DTFT; sample that at N points and it is the DFT. The three transforms are one transform looked at from three distances.

The region of convergence, and its properties TOP 14/19

82 Ba · 81 Bh · 81 Ba · 80 Bh · 80 Ba · 78 Bh · 76 Ch · 75 Ch · 75 Ash · 74 Ch · 74 Ash · 73 Shr · 72 Ch · 72 Ka2+2+31+3+51+6

ROC The region of convergence is the set of values of z in the complex plane for which the z-transform sum converges to a finite value. It is always an annulus centred on the origin, r1 < |z| < r2, because convergence depends only on |z|.

The properties, which is the list the paper asks for

  • It is a ring or a disc centred at the origin. Convergence depends on |z| alone, so the region can only be bounded by circles.
  • The ROC contains no poles. X(z) is infinite at a pole, so the series cannot converge there. The ROC is therefore always bounded by poles.
  • A finite length sequence converges everywhere except possibly z=0 (if it has positive n terms) and z = infinity (if it has negative n terms).
  • A right sided sequence has an ROC outside the outermost pole: |z| > rmax. If it is also causal, the ROC includes z = infinity.
  • A left sided sequence has an ROC inside the innermost pole: |z| < rmin.
  • A two sided sequence has an ROC that is a ring between two poles, r1 < |z| < r2, and it may be empty, in which case the transform does not exist.
  • The ROC must be a connected region. It cannot be two separate rings.
  • For an LTI system: the system is stable if and only if the ROC contains the unit circle, and causal if and only if the ROC is the outside of the outermost pole. Both at once means every pole is inside the unit circle.
SequenceROCExample
Finite lengthThe whole plane, except perhaps 0 or infinity {1, 2, 3}
Right sided, causal|z| > a, outside the outermost pole anu[n]
Left sided, anticausal|z| < a, inside the innermost pole -anu[n1]
Two sideda < |z| < b, a ring anu[n] + b^n u[n1]
Locating the ROC, worked x[n] = (0.1)^n u[n] + (0.3)^n u[n1]. The first term is right sided with a pole at 0.1, so it needs |z| > 0.1. The second is left sided with a pole at 0.3, so it needs |z| < 0.3. Both converge on the ring 0.1 < |z| < 0.3, and the transform exists.
x[n] = (0.6)^n u[n] + (0.25)^n u[n]. Both terms are right sided, with poles at 0.6 and 0.25, so the ROC is outside the outermost: |z| > 0.6. Because that region contains the unit circle, the signal is absolutely summable.
In the exam
  • Draw it. A pole zero plot with the annulus shaded costs thirty seconds and carries a mark on its own.
  • Name the three cases when the question gives one X(z) and three ROCs, which is the 2082 Baishakh and 2081 Baishakh pattern: the outer ROC is causal, the inner one is anticausal, the ring is two sided.

The ROC is where stability and causality live, and it is what decides every term of the inverse transform.

The standard pairs

Every inversion question reduces to recognising one of these. They all come from summing a geometric series, so if you forget one you can rebuild it in two lines.

x[n]X(z)ROC
δ[n]1All z
δ[nk]zkAll z except 0
u[n]1/(1 - z1)|z| > 1
anu[n]1/(1 - a z1)|z| > |a|
-anu[n1]1/(1 - a z1)|z| < |a|
n anu[n]a z1 / (1 - a z1)^2|z| > |a|
(n+1) anu[n]1 / (1 - a z1)^2|z| > |a|
cos(ω0 n) u[n](1 - cos(ω0) z1)/(1 - 2cos(ω0) z1+z2) |z| > 1
sin(ω0 n) u[n]sin(ω0) z1/(1 - 2cos(ω0) z1+z2) |z| > 1
an cos(ω0 n) u[n](1 - a cos(ω0) z1)/(1 - 2a cos(ω0) z1+a2z2) |z| > |a|
The one line behind the whole table: sum from n = 0 to inf of (a z^-1)^n = 1 / (1 - a z^-1) for |a z^-1| < 1 that is, for |z| > |a|. The condition IS the ROC.

The pair that catches people: anu[n] and -anu[n1] have the same X(z). Only the ROC separates them, and that is exactly the fact the exam question is built on.

2.2Properties of the z-transform

The properties

Propertyx[n]X(z)ROC
Linearitya x1[n] + b x2[n]a X1(z) + b X2(z) At least the intersection
Time shiftx[nk]zkX(z)Same, except 0 or infinity
Scaling in zanx[n]X(z/a)|a| times the original
Time reversalx[n]X(1/z)Inverted: 1/r2 < |z| < 1/r1
Differentiationn x[n]-z dX(z)/dzSame
Convolutionx1[n]*x2[n]X1(z) X2(z)At least the intersection
Conjugationx*[n]X*(z*)Same
Initial valuex[0] for causal xlimit of X(z) as z goes to infinity
Final valuelimit of x[n] as n goes to infinitylimit of (z-1)X(z) as z goes to 1Poles of (z-1)X(z) inside the unit circle

The time shift property is what turns a difference equation into H(z) in one line, and therefore what makes every structure in chapter 4 drawable.

The convolution property, derived PIN 1/19

76 Ash3+6

Asked as derive the convolution property of z-transform and as state the convolution property. It is five lines and worth writing out in full.

Let y[n] = x1[n] * x2[n] = sum over k of x1[k] x2[n-k]. Y(z) = sum over n of y[n] z^-n = sum over n of [ sum over k of x1[k] x2[n-k] ] z^-n Interchange the two sums (valid inside the common ROC): = sum over k of x1[k] [ sum over n of x2[n-k] z^-n ] Put m = n - k in the inner sum, so n = m + k and z^-n = z^-m z^-k: = sum over k of x1[k] z^-k [ sum over m of x2[m] z^-m ] = X1(z) . X2(z) QED
  • The ROC of the product is at least the intersection of the two ROCs, and can be larger if a pole of one is cancelled by a zero of the other.
  • Why this property is the whole point. It turns the convolution sum, which costs a sum per output sample, into one multiplication, and it is what makes Y(z)=H(z)X(z), the definition of the system function.
  • The same argument in chapter 7 gives circular convolution for the DFT, with the shift being circular instead of linear.

This single property gives H(z)=Y(z)/X(z), which is the object every remaining chapter manipulates: its poles and zeros, its realization, and its design.

2.3Inverse z-transform by long division and partial fractions

Inverting X(z) by long division PIN 2/19

79 Bh · 71 Shr6

The power series, or long division, method divides the numerator by the denominator until a pattern appears. The z-transform is a power series in z1 by definition, so the coefficient of zn is x[n], read straight off.

X(z) = sum of x[n] z^-n = x[0] + x[1] z^-1 + x[2] z^-2 + ... CAUSAL ROC |z| > r. Write BOTH polynomials in DESCENDING powers of z, or in ASCENDING powers of z^-1, and divide. The quotient is x[0], x[1], x[2], ... ANTICAUSAL ROC |z| < r. Write BOTH in ASCENDING powers of z, and divide. The quotient is x[-1], x[-2], ...
  • The ROC chooses the direction of the division, exactly as it chooses u[n] against -u[n1] in the partial fraction method. Dividing the wrong way gives a valid series that converges nowhere near the given ROC.
  • What it is good for: getting the first few samples quickly, and checking a partial fraction answer. It is the method to reach for when the question says find the first four samples.
  • What it is bad for: a closed form. Long division gives numbers, not a formula, unless the pattern is obvious. For a closed form, use partial fractions.
Worked example, answer checked by code

Find the first four samples of x[n] for X(z) = 1/(1 - 1.5z^-1 + 0.5z^-2), with the ROC |z| > 1, so the sequence is causal.

1 + 1.5 z^-1 + 1.75 z^-2 + 1.875 z^-3 ... ______________________________________________ 1 - 1.5z^-1 + 0.5z^-2 ) 1 1 - 1.5 z^-1 + 0.5 z^-2 --------------------------- 1.5 z^-1 - 0.5 z^-2 1.5 z^-1 - 2.25 z^-2 + 0.75 z^-3 --------------------------------- 1.75 z^-2 - 0.75 z^-3 1.75 z^-2 - 2.625 z^-3 + 0.875 z^-4 ------------------------------------ 1.875 z^-3 ...

The same numbers come out of the difference equation the transform encodes, x[n] = 1.5x[n-1] - 0.5x[n-2] + δ[n], which is the quick way to carry the division on: 1, 1.5, 1.75, 1.875, 1.9375, and so on.

x[n] = {1, 1.5, 1.75, 1.875, ...} for n=0, 1, 2, 3. Partial fractions confirm it in closed form: X(z) = 2z/(z-1) - z/(z-0.5), so x[n] = 2 - (0.5)^n for n >= 0, which gives 1, 1.5, 1.75, 1.875 and tends to 2.

The same division, run the other way, is how partial fractions start when the numerator is the larger.

Practise thisthe inverse z-transform 2 worked

Inverting X(z) by partial fractions

This is question 3 in nineteen papers out of nineteen. The method never changes, so learn it as a fixed sequence of steps.

STEP 1 If the numerator degree >= denominator degree, LONG DIVIDE first. The quotient inverts to impulses; the remainder goes on to step 2. STEP 2 Write X(z)/z rather than X(z), then expand. Working with X(z)/z makes every term come out as z/(z - p), which is the standard pair. STEP 3 Factor the denominator and expand: X(z) A1 A2 ---- = ------- + ------- + ... z z - p1 z - p2 Ak = [ (z - pk) X(z)/z ] evaluated at z = pk STEP 4 Multiply back by z: X(z) = A1 z/(z-p1) + A2 z/(z-p2) + ... STEP 5 Invert TERM BY TERM, using the ROC to choose the sign for each pole: |z| > |pk| -> Ak (pk)^n u[n] right sided |z| < |pk| -> -Ak (pk)^n u[-n-1] left sided

Step 5 is the whole question. Everything before it is algebra that most candidates get right. The marks are in reading the ROC against each pole separately.

How to read the ROC, pole by pole Draw the poles on a line by magnitude. Mark the given ROC on it. For each pole ask: is this pole inside the ROC boundary, meaning the ROC lies outside it? Then that term is right sided, with u[n]. Is the ROC inside this pole? Then that term is left sided, with -u[n1].
A two sided ROC such as 1/3 < |z| < 1 gives one term of each kind, which is what makes those questions worth five marks.
Worked, the 2082 Bhadra and 2079 Baishakh question H(z) = z/(3z^2 - 4z + 1) for 1/3 < |z| < 1.
Factor: 3z^2 - 4z + 1 = 3(z - 1)(z - 1/3), so H(z) = z / [3(z-1)(z-1/3)].
H(z)/z=1/[3(z-1)(z-1/3)] = A/(z-1) + B/(z-1/3).
A = 1/[3(1 - 1/3)] = 12. B = 1/[3(1/3 - 1)] = -12.
H(z) = (12) z/(z-1) - (12) z/(z - 1/3).
Now the ROC, 1/3 < |z| < 1. The pole at 1/3 has the ROC outside it, so that term is right sided. The pole at 1 has the ROC inside it, so that term is left sided.
h[n] = -(12) u[n1] - (12)(1/3)^n u[n].

The other two methods, and when to use them

  • Long division, or the power series method. Divide numerator by denominator to get a series in z1; the coefficients are x[0], x[1], x[2] and so on. Use it when the question wants only the first few samples, or when the denominator does not factor nicely. Divide in ascending powers of z1 for a causal answer, in ascending powers of z for an anticausal one.
  • The residue method. x[n] = sum of residues of X(z) z^(n-1) at the poles inside the contour. Correct, and slower than partial fractions for exam sized problems.

Repeated poles. For a pole of order m at p, the expansion needs terms A1/(z-p) + A2/(z-p)^2 + ... + Am/(z-p)^m, and the constants come from differentiating: A(m-k) = (1/k!) times the k-th derivative of [(z-p)^m X(z)/z] evaluated at z = p. The inverse of z/(z-p)^2 is n p^(n-1) u[n].

In the exam
  • Long divide first if the degrees demand it. Skipping that step on X(z) = (2z^4 + 2z^3 - 3z + 2)/(z2 - 1.5z - 1) makes the partial fractions come out wrong, and that exact fraction has been set twice.
  • Expand X(z)/z, not X(z). Expanding X(z) directly gives terms in 1/(z-p) whose inverse carries an awkward shift.
  • Check x[0] against the initial value theorem when the sequence is causal. It is one line and it catches a wrong residue.

The identical partial fraction expansion is the first step of impulse invariance, where each term is mapped separately from s to z.

Practise thisthe inverse z-transform 2 worked

2.4Last minute recall

Last minute recall, chapter 2

Must memorise
  • X(z) = sum of x[n]zn, and the ROC must always be quoted with it: the same algebra with two ROCs is two different sequences.
  • The ROC is a ring centred on the origin and contains no pole. Right sided means outside the outermost pole; left sided means inside the innermost.
  • Stable if and only if the ROC contains the unit circle. Causal if and only if the ROC is the outside of the outermost pole, and both together means every pole is inside the unit circle.
  • Expand X(z)/z, not X(z), so every term returns as z/(z - p).
  • ROC outside the pole gives A p^n u[n]; ROC inside gives -A p^n u[n1].
  • Long divide first if the numerator's degree reaches the denominator's: the quotient becomes impulses.
  • The pairs: z/(z-a) to anu[n], z/(z-a)^2 to n a^(n-1) u[n], a constant to an impulse, z^k to δ[n+k].
  • Convolution becomes multiplication: Y(z)=H(z)X(z). That is the whole reason the transform exists.
Most repeated in this chapter, in order
  1. Inverse z-transform by partial fractions, with the ROC deciding TOP 15/19
  2. Define the ROC TOP 8/19, almost always as the opening two marks of the same question
  3. Properties of the ROC, and locating it HOT 7/19
  4. Define the z-transform PIN 2/19 and derive the convolution property PIN 2/19

Question 3 is this chapter, every year, and it is almost always the same question: define the ROC for two marks, then invert an X(z) for five or six. The marks are in the ROC assignment, not the algebra.

Chapter 3 · 6 hours · 10 marks · question 4, every paper

LTI systems in the frequency domain

What an LTI system does to a sinusoid, how to read that straight off a pole zero diagram without computing anything, and how stability and causality are written in the same picture. Question 4 is this chapter in every paper, and it is ten marks.

What this chapter is about
  • The frequency response: why a complex exponential goes through an LTI system unchanged except for a complex gain.
  • The geometric method: reading magnitude and phase off the distances from a point on the unit circle to the poles and zeros.
  • Stability and causality stated three ways: on h[n], on the ROC, and on the pole positions.
  • FIR against IIR, which the paper asks as a straight comparison.
Where it fits
  • Chapter 2 gave H(z); this chapter walks around the unit circle in it.
  • Chapters 5 and 6 design H(z) so that this magnitude response comes out the way the specification demands.
  • Chapter 7 samples this same response at N points.
What you will learn
  1. 3.1 The frequency response, and why exponentials pass straight through
  2. 3.2 Difference equations, and the system function, The zero input response
  3. 3.3 Plotting poles and zeros and sketching the magnitude response, The phase response
  4. 3.4 Linear phase, and its relationship with causality, Stability and causality, three ways of saying the same thing, The BIBO stability test, FIR against IIR
  5. 3.5 Last minute recall, chapter 3
How it is examined
  • Question 4 is always: plot the pole zero in the z-plane and draw the magnitude response, not to scale. Ten marks, seventeen papers.
  • The question is given either as a difference equation or as a list of pole and zero locations. Both reduce to the same picture.
  • Not to scale means labelled, not vague. Values at ω=0 and ω=π, peaks at the poles, nulls at the zeros.

3.1Frequency response of an LTI system, response to a complex exponential

The frequency response, and why exponentials pass straight through HOT 5/19

82 Ba · 80 Ba · 73 Shr · 72 Ka · 71 Shr2+3+53+75

The eigenfunction property Feed x[n]=ejω0n into an LTI system with impulse response h[n]. The convolution sum gives back the same exponential, multiplied by a complex number that depends only on ω0. The exponential is an eigenfunction of every LTI system, and the complex number is the frequency response.
y[n] = sum over k of h[k] x[n-k] = sum over k of h[k] e^(j w0 (n-k)) = e^(j w0 n) . sum over k of h[k] e^(-j w0 k) = e^(j w0 n) . H(e^(j w0)) inf H(e^jw) = sum h[k] e^(-jwk) = H(z) evaluated at z = e^jw k=-inf H(e^jw) = |H(e^jw)| e^(j theta(w)) magnitude and phase

What this buys you

  • No convolution needed. When the input is a complex exponential or a sinusoid, the output is the input scaled by |H| and delayed in phase by θ. Three papers set this as a convolution question; recognising it saves ten minutes.
  • For a real sinusoid: if x[n] = A cos(ω0 n + ϕ), then y[n] = A |H(ejω0)| cos(ω0 n + ϕ+θ(ω0)).
  • For a sum of sinusoids, do each one separately and add, which is what the question with x[n] = 10 - 5 sin(pi n/2) + 20 cos(pi n) is testing. Note that the constant 10 is the ω=0 component, so it is scaled by H(ej0).
Worked, the one set four times h[n]=(12)nu[n] and x[n] = 5 ejπn/3.
H(ejω) = 1/(1 - 0.5 ejω). At ω=π/3: ejπ/3 = 0.5 - j0.866, so 1 - 0.5(0.5 - j0.866) = 0.75 + j0.433, whose magnitude is 0.866 and angle 30 degrees.
H = 1/(0.866 angle 30 deg) = 1.1547 angle -30 deg.
y[n] = 5 (1.1547) ej(πn/3π/6) = 5.7735 ej(πn/3π/6).

Two properties of H(ejω) worth stating in any answer

  • Periodic in 2π. H(e^j(w + 2pi)) = H(ejω), because ej2pik = 1. Only one period of the response exists, which is why every plot runs from 0 to 2π, or -pi to pi.
  • Conjugate symmetric for real h[n]. H(e^-jw) = H*(ejω), so the magnitude is even and the phase is odd. That is why the magnitude is always sketched over 0 to pi and then mirrored.

This is the DTFT of h[n] under another name, and FIR design and IIR design are both nothing but choosing the |H(ejω)| this card evaluates.

Practise thisthe output for an exponential input 3 worked

3.2Linear constant coefficient difference equation and the system function

Difference equations, and the system function

Linear constant coefficient difference equation A relation between the output and the input of the form below, with coefficients that do not depend on n. It is the discrete time counterpart of a differential equation, and it is how a system is actually implemented.
N M sum a[k] y[n - k] = sum b[k] x[n - k] with a[0] = 1 k = 0 k = 0 M y[n] = sum b[k] x[n-k] - sum from k=1 to N of a[k] y[n-k] k = 0 B(z) b0 + b1 z^-1 + ... + bM z^-M H(z) = ------- = ---------------------------- A(z) 1 + a1 z^-1 + ... + aN z^-N

Why we need it

  • It is the implementation. Convolution with an infinite h[n] cannot be programmed; a difference equation with a handful of coefficients can, and it runs in real time.
  • It is finite memory. Only N past outputs and M past inputs are stored, whatever the length of h[n].
  • It carries the structure. The b coefficients are the feed forward path and the a coefficients the feedback path, which is exactly what chapter 4 draws.
  • It classifies the filter. No a terms means FIR, non recursive, h[n] of finite length. Any a term means IIR, recursive, h[n] of infinite length.

The two responses. The total solution of a difference equation splits in two, and the paper asks for the first half on its own.

Zero input responseZero state response
Also calledNatural or free responseForced response
Caused byThe initial conditions, with x[n] = 0The input, with all initial conditions zero
Found fromThe roots of the characteristic equationConvolution, or the z-transform
Shapesum of C[k] (λ[k])^nDepends on the input

Taking the z-transform of this equation, with the time shift property, gives H(z) directly; the coefficients are then read straight onto a direct form structure.

The zero input response PIN 1/19

78 Bh4

Asked as determine the zero input response for a second order system. It is a four step procedure and nothing else.

  • Set x[n] = 0 and write the homogeneous equation: y[n] + a1 y[n1] + a2 y[n2] = 0.
  • Assume y[n] = λ^n and substitute. Dividing through by λ^(n-2) gives the characteristic equation λ^2 + a1 λ + a2 = 0.
  • Solve for the roots. Distinct real roots give y[n] = C1 lambda1^n + C2 lambda2^n. A repeated root λ gives y[n] = (C1 + C2 n) λ^n. Complex conjugate roots give a damped sinusoid, y[n] = r^n (C1 cos(θ n) + C2 sin(θ n)).
  • Fit the constants to the given initial conditions y[1], y[2] and state the answer.
Worked, 2078 Bhadra y[n] - 3y[n-1] - 4y[n-2] = x[n]. With x[n] = 0 the characteristic equation is λ^2 - 3 λ - 4 = 0, so (λ - 4)(λ + 1) = 0 and λ = 4, -1.
The zero input response is y[n] = C1 (4)^n + C2 (-1)^n, with C1 and C2 fixed by the two initial conditions.
Read the stability off it: the root at 4 lies outside the unit circle, so the natural response grows without bound and the system is unstable.

The roots of the characteristic equation are the poles of H(z), which is why a root outside the unit circle and an unstable filter are the same statement.

Practise thisthe zero input response 1 worked

3.3Relationship of the frequency response to the poles and zeros

Plotting poles and zeros and sketching the magnitude response TOP 17/19

82 Bh · 82 Ba · 81 Bh · 81 Ba · 80 Bh · 80 Ba · 79 Bh · 79 Ba · 78 Bh · 76 Ch · 76 Ash · 75 Ch · 75 Ash · 74 Ch · 74 Ash · 72 Ch · 72 Ka3+72+82+6

Seventeen of nineteen papers. Always ten marks, or close to it. The whole answer is a fixed six step procedure, and the sketch is read off the geometry rather than computed.

STEP 1 Get H(z) from the difference equation. Take the z-transform of both sides, using x[n-k] -> z^-k X(z): y[n] + a1 y[n-1] + a2 y[n-2] = b0 x[n] + b1 x[n-1] b0 + b1 z^-1 z (b0 z + b1) H(z) = -------------- = ----------------- 1 + a1 z^-1 + a2 z^-2 z^2 + a1 z + a2 STEP 2 Multiply top and bottom by z^N so both are polynomials in z, never in z^-1. Zeros at z = 0 and poles at z = 0 are easy to lose otherwise. STEP 3 Factor. Roots of the numerator are ZEROS (draw as o), roots of the denominator are POLES (draw as x). STEP 4 Plot on the z-plane with the unit circle drawn. Mark Re and Im axes. Complex roots always come in conjugate pairs, so the picture is symmetric about the real axis. STEP 5 |H(e^jw)| = (product of distances from e^jw to each ZERO) ------------------------------------------- (product of distances from e^jw to each POLE) STEP 6 Walk the point e^jw round the unit circle from w = 0 to w = pi and sketch what the ratio does.
The four rules that give you the sketch without arithmetic Near a pole the response peaks. The closer the pole is to the unit circle, the taller and narrower the peak, and the peak sits at the angle of the pole.
Near a zero the response dips. A zero on the unit circle forces the response to exactly zero at that angle.
At ω=0 the point is z=1; at ω=π it is z=1. Compute the two numbers H(1) and H(-1) exactly, since they anchor the sketch and are cheap.
Poles and zeros far from the unit circle barely matter. A pole at |z| = 2 contributes a slow, gentle trend, not a feature.

Reading the filter type off the picture

Where the poles sitWhere the zeros sitThe filter is
Near z = +1, angle 0Near z=1Low pass
Near z=1, angle piNear z = +1High pass
At angle ω0 on both sidesAt z = +1 and z=1Band pass centred on ω0
Just inside a zero at angle ω0On the circle at angle ω0Band stop or notch at ω0
Anywhere, with each zero the reciprocal conjugate of a pole All pass: flat magnitude
Worked, the pattern the paper repeats Poles at 0.45 +/- j1.6, zeros at 0.58 +/- j2.06. Both pairs are complex conjugates. |pole| = sqrt(0.45^2 + 1.6^2) = 1.66 and |zero| = sqrt(0.58^2 + 2.06^2) = 2.14, so both lie outside the unit circle, the poles nearer to it than the zeros.
Pole angle = arctan(1.6/0.45) = 74.3 degrees; zero angle = arctan(2.06/0.58) = 74.3 degrees as well, so the pole and the zero sit on the same ray.
Because the poles are outside the unit circle, the system is unstable, and the magnitude response has a broad rise near w = 74.3 degrees, which is about 1.3 radians, rather than a sharp peak. Say that: the marks are for reading the geometry, and for noticing the instability.
Worked, from a difference equation y[n] - 0.4 y[n1] + 0.25 y[n2]=x[n] - 0.4 x[n1].
H(z) = (1 - 0.4 z1)/(1 - 0.4 z1 + 0.25 z2) = z(z - 0.4)/(z2 - 0.4 z + 0.25).
Zeros: z=0 and z=0.4. Poles: z = (0.4 +/- sqrt(0.16 - 1))/2 = 0.2 +/- j0.458, so |p| = 0.5 and angle = 66.4 degrees.
Both poles are inside the unit circle, so the system is stable. The response peaks near w = 66.4 degrees (1.16 rad), and has a dip near ω=0 from the zero at 0.4.
Anchors: H(1) = (1 - 0.4)/(1 - 0.4 + 0.25) = 0.6/0.85 = 0.706. H(-1) = (1 + 0.4)/(1 + 0.4 + 0.25) = 1.4/1.65 = 0.848.
In the exam
  • Draw the unit circle and label both axes. A pole zero plot without the unit circle cannot be marked, because every conclusion depends on which side of it things are.
  • Mark the pole angle on the frequency axis of the magnitude sketch. That correspondence is the thing being examined.
  • Compute H(1) and H(-1). Two numbers, two marks, and they stop the sketch floating.
  • Say whether it is stable even when the question does not ask. It costs one sentence and it is often a mark.
  • Sketch only 0 to pi and note that the rest is the mirror image.

The poles you plot here are the same numbers that the lattice reflection coefficients test without being found, and the same ones that a Butterworth design places deliberately.

Practise thisthe pole zero map and the magnitude sketch 16 worked

The phase response

theta(w) = sum of ANGLES from e^jw to each ZERO - sum of ANGLES from e^jw to each POLE ( - w times any pure delay z^-k ) group delay tau(w) = - d theta(w) / dw
  • The geometric rule is the same as for magnitude, with angles added and subtracted instead of distances multiplied and divided.
  • Phase is odd for a real system, so it is sketched over 0 to pi and mirrored with a sign change.
  • Linear phase means constant group delay: every frequency is delayed by the same number of samples, so the shape of the signal survives. This is the property FIR filters can have exactly and IIR filters cannot, and it is the whole argument of chapter 5.
  • A phase sketch is asked in 2082 Baishakh and 2076 Ashwin. Mark θ(0), which is 0 or pi for a real system, and the jumps of pi that occur wherever the response passes through a zero on the unit circle.

A phase that is a straight line is the subject of the next card, and the property that every FIR design is built to have.

Practise thisthe pole zero map and the magnitude sketch 16 worked

3.4Linear phase, causality and stability

Linear phase, and its relationship with causality

Linear phase A system has linear phase if its phase response is a straight line in w, angle H(ejω) = -alpha w. Every frequency is then delayed by the same alpha samples, so the shape of the input survives: no component overtakes another.
GROUP DELAY tau(w) = - d/dw [ angle H(e^jw) ] Linear phase <=> tau(w) = alpha, CONSTANT at every frequency. CONDITION ON h[n] h[n] = h[ M - n ] symmetric, M = N - 1 h[n] = -h[ M - n ] antisymmetric Then H(e^jw) = e^(-j w M/2) Hr(w) with Hr(w) REAL, and the phase is -wM/2, plus a constant pi/2 in the antisymmetric case.

The relationship with causality, which is the point of the question

  • An ideal filter is not causal. The ideal low pass response has zero phase and a brick wall magnitude, and its impulse response sin(ωc n)/(pi n) is non zero for every negative n and never ends. It cannot be built, because an output would be needed before its input arrived.
  • A delay is what buys causality. Shift the ideal response right by alpha = (N1)/2 samples and truncate. The shift is exactly the factor ejωalpha, which is linear phase. So linear phase is not an extra requirement bolted on: it is the price and the proof of having made the filter causal.
  • The cost is latency. A causal linear phase FIR filter of length N delays the signal by (N1)/2 samples. Longer filter, sharper response, more delay. That trade is why linear phase FIR filters are avoided in a control loop.
  • A causal IIR filter cannot have exactly linear phase. Symmetry of h[n] about a point demands a finite, symmetric impulse response; an infinite one that is also symmetric would have to extend to n negative, which is non causal. So exact linear phase belongs to FIR filters alone.
  • Zero phase is possible offline. Filtering forwards and then backwards through the same IIR filter gives |H|^2 and zero phase, at the cost of needing the whole signal in advance. That is not a causal system, which is the point.
TypeSymmetry of h[n]Length NHr has a forced zero atCannot build
ISymmetricOddNothingAny filter
IISymmetricEvenω=πHigh pass, band stop
IIIAntisymmetricOddω=0 and ω=πLow pass, high pass
IVAntisymmetricEvenω=0Low pass, band stop
  • Zeros come in quadruples. The symmetry h[n]=h[Mn] forces H(z) = z^-M H(1/z), so if z0 is a zero then 1/z0 is too, and for real coefficients so are their conjugates. A zero not on the unit circle therefore arrives with its mirror image outside it, which is why a linear phase FIR filter is never minimum phase unless every zero sits on the circle.

The delay that buys causality here is the τ in every ideal impulse response in chapter 5, and the reason an FIR filter is chosen when phase matters.

Stability and causality, three ways of saying the same thing PIN 2/19

76 Ash · 72 Ch4+34

In terms of h[n]In terms of the ROCIn terms of the poles
Causalh[n] = 0 for n < 0ROC is the outside of the outermost pole, and includes z = infinityNumber of finite zeros does not exceed the number of finite poles
Stablesum of |h[n]| over all n is finiteROC contains the unit circleNo condition on its own: it depends which ROC is chosen
Causal and stableBoth of the aboveROC is |z| > rmax with rmax < 1Every pole lies strictly inside the unit circle
Why the ROC statement is the same as the h[n] statement Stability means sum of |h[n]| is finite. Evaluate the z-transform on the unit circle: |H(ejω)| <= sum of |h[n]ejωn| = sum of |h[n]|. So the sum converges on |z|=1 exactly when the unit circle is in the ROC.

Worked examples, the ones the question asks for

  • h[n]=anu[n]. Causal, since h[n] = 0 for n < 0. Its ROC is |z| > |a|, which contains the unit circle only if |a| < 1. So it is stable exactly when the pole is inside the unit circle.
  • h[n] = -anu[n1]. Anticausal. Same H(z), ROC |z| < |a|, which contains the unit circle only if |a| > 1. The same algebra, the opposite conclusion, which is the point of always quoting the ROC.
  • H(z) = 1/(1 - 2z^-1) with ROC |z| > 2. Causal and unstable: the pole at 2 is outside the unit circle and the ROC does not contain it.
  • The same H(z) with ROC |z| < 2. Stable and not causal. A stable, anticausal system exists; it just cannot run in real time.

The pole positions this card talks about are exactly what the bilinear transformation guarantees, by mapping the whole left half plane inside the unit circle.

The BIBO stability test PIN 1/19

81 Ba5

BIBO stable A system is bounded input bounded output stable if every input bounded by some finite Mx produces an output bounded by some finite My. For an LTI system this is equivalent to h[n] being absolutely summable.
|y[n]| = | sum over k of h[k] x[n-k] | <= sum over k of |h[k]| |x[n-k]| <= Mx . sum over k of |h[k]| So y is bounded for every bounded x <=> sum |h[k]| < infinity.
Worked, 2081 Baishakh y(n) = x(n) + e^a y(n-1). This is a first order recursive system with H(z) = 1/(1 - e^a z1), so the pole is at z = e^a.
For a causal system, stability needs |e^a| < 1, that is a < 0.
The impulse response is h[n] = (e^a)^n u[n], and sum |h[n]| = 1/(1 - |e^a|), finite only when |e^a| < 1. Same conclusion, both ways.

FIR against IIR

FIRIIR
Impulse responseFinite length, M+1 samplesInfinite length
Difference equationNon recursive: output from inputs only Recursive: output depends on past outputs
PolesAll at the origin, so always stablePoles anywhere; stable only if all are inside the unit circle
Linear phaseExactly achievable by making h[n] symmetric Not achievable exactly; phase is non linear
Order needed for a given specificationHigh, often 5 to 10 times higherLow
Computation and memoryMoreLess
Quantisation effectsMild, no feedback to accumulate errorSerious: limit cycles and instability from coefficient rounding
Design fromDirect approximation of the desired response: windows, Remez An analog prototype: Butterworth, Chebyshev, then a transform
Analog counterpartNoneYes, which is why the design route goes through one

Which to choose

  • Choose FIR when linear phase matters: audio, data transmission, image processing, anything where waveform shape must survive. Also when the filter must be guaranteed stable, and when coefficients will be heavily quantised.
  • Choose IIR when the specification is sharp and the computation budget is small, and when phase distortion is acceptable: control loops, simple audio tone shaping, real time work on a slow processor.

The choice between them, for a given job, is the first card of chapter 5.

3.5Last minute recall

Last minute recall, chapter 3

Must memorise
  • |H| is the product of the distances to the zeros over the product of the distances to the poles, measured from the point ejω on the unit circle.
  • Near a pole it peaks, at the angle of the pole. Near a zero it dips, to zero if the zero is on the circle. Anything at the origin affects only the phase.
  • Multiply above and below by z^N before factoring, or the zeros and poles at the origin are lost.
  • Check both endpoints numerically: H at z=1 and at z=1.
  • Eigenfunction: A ejω0n in gives A H(ejω0) ejω0n out. A sinusoid is scaled by |H| and shifted by the angle of H; the frequency never changes.
  • The characteristic equation comes from setting the input to zero and trying y[n] = λ^n; a root outside the unit circle means an unstable system.
  • H(z)=B(z)/A(z) straight from the difference equation, with the feedback coefficients changing sign as they cross the equals sign.
  • An FIR filter is always stable. An IIR filter is stable only if every pole is inside the unit circle.
Most repeated in this chapter, in order
  1. Pole zero map and magnitude sketch TOP 17/19, the single most set question on the paper
  2. Output for a complex exponential HOT 5/19
  3. Stability and causality in terms of h[n] and the ROC PIN 2/19, and the difference equation and system function PIN 2/19
  4. BIBO test PIN 1/19, FIR against IIR PIN 1/19, zero input response PIN 1/19

Question 4 is the pole zero sketch in seventeen of the nineteen sittings. It is a sketch, not a computation: the marks are in the map, the ROC statement and a curve whose shape you can justify.

Chapter 4 · 8 hours · 10 marks · questions 5 and 6, every paper

Discrete filter structures

The same H(z) can be wired up in half a dozen ways. They compute the same thing in exact arithmetic and behave very differently in real arithmetic, which is why the paper asks you to draw them. Two questions every paper: a direct or cascade form, and a lattice.

What this chapter is about
  • Drawing a difference equation as a signal flow graph: adders, multipliers and unit delays.
  • The four IIR forms: direct form I, direct form II, cascade and parallel.
  • The lattice: for FIR, for IIR, and the recursions that go both ways between the lattice coefficients and H(z).
  • Finite word length: quantisation, rounding against truncation, limit cycles and the dead band.
Where it fits
  • Chapters 2 and 3 produced H(z). This chapter builds it.
  • Chapters 5 and 6 design H(z); whatever they produce is realised with one of these structures.
  • The lattice is the structure of choice for a designed IIR filter, because its stability test is one glance.
What you will learn
  1. 4.1 The three elements, and why the structure matters, FIR structures, The frequency sampling structure, The FIR lattice, From lattice coefficients back to the system function
  2. 4.2 Direct form I and direct form II, Cascade and parallel forms, The IIR lattice ladder
  3. 4.3 Quantisation, limit cycles and the dead band, Scaling, and keeping the arithmetic inside the register, Fixed point number formats
  4. 4.4 Last minute recall, chapter 4
How it is examined
  • One question on a direct or cascade form, 4 to 5 marks, and one on a lattice, 5 to 10 marks.
  • The lattice question is the harder of the two and it is worth the most: the recursion has to be carried out correctly and the structure drawn.
  • Marks are for the drawing. Coefficients with no diagram score very little.

4.1FIR filters, and the structures that realize them

The three elements, and why the structure matters

ADDER two arrows in, one out, marked with a circle and a plus MULTIPLIER an arrow with the constant written beside it UNIT DELAY a box marked z^-1, holding one sample Every structure in this chapter is built from these three and nothing else.

Why draw more than one structure for the same filter

  • In exact arithmetic they are identical. Every structure realises the same H(z), so on paper the choice is free.
  • In finite precision they are not. Coefficients get rounded, so the poles move, and different structures move them by different amounts. A direct form with a high order denominator can go unstable from rounding alone; a cascade of second order sections is far less sensitive, because each section's poles depend on only two coefficients.
  • They cost different amounts. Direct form II uses the fewest delays, which is why it is called the canonic form.
  • The lattice is the most robust of all to coefficient rounding and gives a stability test you can do by eye.

Transposition. Reverse every arrow, swap adders with branch points, and exchange input with output. The result computes the same H(z). This is where the transposed direct form II comes from, and it is worth one line in any structures answer.

Everything drawn in this chapter realizes the H(z) that the convolution property defined and that chapter 3 sketched.

FIR structures TOP 9/19

82 Bh · 79 Bh · 79 Ba · 78 Bh · 74 Ch · 74 Ash · 73 Shr · 72 Ch · 72 Ka3+72+25

  • Direct form, or transversal, or tapped delay line. M delays in a row with the h[k] multipliers tapping off them into one adder. There is no feedback, so there is nothing else to draw.
  • Cascade form. Factor H(z) into second order sections, each (b0 + b1 z1 + b2 z2), and chain them.
  • Linear phase form. If h[n]=h[M1n], pair the taps that share a coefficient and add them before the multiply. That halves the number of multipliers, from M to about M/2, at no cost in accuracy. Draw this whenever the question says linear phase.
  • Frequency sampling form and the lattice are the other two, and the lattice is the one examined.

The symmetry that halves the multipliers is the linear phase condition, and the coefficients themselves come out of the window design in the next chapter.

Practise thisdirect form realization 6 worked

The frequency sampling structure

Instead of storing the impulse response, this structure stores samples of the frequency response, H(k) for k=0 to N-1, and builds the filter from a comb filter followed by a bank of resonators, one per sample.

Start from the interpolation of H(z) through its N frequency samples: 1 - z^-N N-1 H(k) H(z) = ---------- SUM ------------------- N k=0 1 - WN^-k z^-1 ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ a COMB filter N single pole RESONATORS in parallel, with N zeros one sitting on the unit circle at on the unit w = 2 pi k / N circle
  • How it works. The comb filter 1 - zN puts a zero at every one of the N points ω=2π k/N. Each resonator puts a pole at one of those same points, cancelling that zero and leaving a gain of H(k) there. The response therefore passes exactly through the N samples you specified.
  • Why it is attractive: if most of the H(k) are zero, as in a narrow band filter, those resonators are simply left out. A filter with 4 non zero samples out of 64 costs 4 resonators instead of 64 taps.
  • The practical catch. The poles sit on the unit circle, so the structure is only marginally stable: with quantized coefficients a pole can drift outside and the filter can run away. The cure is to move both the zeros and the poles to a radius r slightly less than 1, typically 0.99, which costs a little accuracy and buys stability.
  • Real coefficients: combine each conjugate pair of resonators, k and N-k, into one second order section, so the arithmetic stays real.
  • It is a realization of an FIR filter, even though it contains feedback. The poles are cancelled by zeros, so the overall impulse response is still finite.
In the exam

The syllabus lists this among the FIR structures and the design method that goes with it is in chapter 5. No sitting in the nineteen has asked you to draw it, so know what it is, why the comb and the resonators cancel, and the stability caveat, and spend the drawing time on the lattice.

The design method that produces the H(k) this structure stores is section 5.3.

The FIR lattice HOT 4/19

81 Ba · 74 Ch · 72 Ch · 72 Ka56

What it is A chain of M identical two input, two output stages, each carrying one reflection coefficient k[m]. Stage m produces a forward output f[m][n] and a backward output g[m][n]. The forward output of the last stage is y[n]. The structure realises an all zero, that is FIR, system.
STAGE EQUATIONS f[0][n] = g[0][n] = x[n] f[m][n] = f[m-1][n] + k[m] g[m-1][n-1] g[m][n] = k[m] f[m-1][n] + g[m-1][n-1] y[n] = f[M][n] CONVERSION, coefficients to lattice (BACKWARD recursion, the exam case) Given A[M](z) = 1 + a[M](1) z^-1 + ... + a[M](M) z^-M k[M] = a[M](M) for m = M down to 2: a[m](i) - k[m] . a[m](m - i) a[m-1](i) = ----------------------------- i = 1 .. m-1 1 - k[m]^2 k[m-1] = a[m-1](m-1) CONVERSION, lattice to coefficients (FORWARD recursion) A[0](z) = 1 A[m](z) = A[m-1](z) + k[m] z^-m A[m-1](z^-1) which in coefficients is a[m](i) = a[m-1](i) + k[m] a[m-1](m-i), a[m](m) = k[m]

The procedure for the exam question

  • Write H(z) with a leading 1. If it is H(z) = 1 + (13/24)z1 + (5/8)z2 + (1/3)z3, then M = 3 and a3 = (13/24, 5/8, 1/3).
  • Take the last coefficient as k[M]. Here k3 = 1/3.
  • Step down one order at a time with the recursion, writing each a[m-1] row in full before taking its last entry as the next k.
  • Stop at k[1] = a[1](1). Draw the M stages with the k values marked.
  • Check stability: the system is minimum phase, meaning all its zeros are inside the unit circle, if and only if |k[m]| < 1 for every m. When the question says also check whether the system is stable, this one line is the answer.
Worked, H(z) = 1 + 2z^-1 + z2 M = 2, a2 = (2, 1). So k2 = a2(2) = 1.
a1(1) = [a2(1) - k2 a2(1)]/(1 - k2^2) = (2 - 2)/(1 - 1) = 0/0, which is undefined: the recursion breaks down exactly because |k2| = 1. That is the signal that the filter has a zero on the unit circle, here a double zero at z=1, so it is not minimum phase and the lattice does not exist in the usual form. Saying that is worth more than forcing a number.
Worked, three stages from the k's k1 = 1/4, k2 = 12, k3 = 1/3, all zero. Forward recursion:
A1(z) = 1 + (1/4) z1.
A2: a2(1) = a1(1) + k2 a1(1) = 1/4 + (12)(1/4) = 3/8; a2(2) = k2 = 12. A2(z) = 1 + (3/8)z1 + (12)z2.
A3: a3(1) = a2(1) + k3 a2(2) = 3/8 + (1/3)(12) = 13/24; a3(2) = a2(2) + k3 a2(1) = 12 + (1/3)(3/8) = 5/8; a3(3) = k3 = 1/3.
H(z) = 1 + (13/24)z1 + (5/8)z2 + (1/3)z3, and the FIR coefficients are h = {1, 13/24, 5/8, 1/3}. Notice this is the same filter as the worked example above, run the other way: the paper sets both directions.

The same recursion run on a denominator gives the IIR lattice ladder, and run forwards it gives H(z) back from the K values.

Practise thisthe fir lattice 7 worked

From lattice coefficients back to the system function PIN 2/19

79 Bh · 71 Shr65

Asked as a 3 stage lattice filter has coefficients k1, k2, k3; obtain the system function. It is the forward recursion, run three times, and the only thing to be careful about is which system the question means.

  • All zero, that is an FIR lattice: the answer is H(z) = A3(z), and the FIR coefficients are the coefficients of A3.
  • All pole, that is an IIR lattice: the answer is H(z) = 1/A3(z), with the same A3. The question says which; 2079 Bhadra says all zero and 2071 Shrawan says all pole, with the same k values, which is no accident.
  • The recursion is A[m](z) = A[m-1](z) + k[m] z^-m A[m-1](z1), started from A0(z) = 1. Write each A[m] out in full before moving on.
Worked, k1 = 1/4, k2 = 12, k3 = 1/3 A1(z) = 1 + 0.25 z1.
A2(z) = A1(z) + 0.5 z2 A1(z1) = 1 + 0.25z^-1 + 0.5z^-2 (1 + 0.25z) = 1 + 0.375 z1 + 0.5 z2.
A3(z) = A2(z) + (1/3) z3 A2(z1) = 1 + (13/24) z1 + (5/8) z2 + (1/3) z3.
All zero: H(z) = A3(z), h = {1, 13/24, 5/8, 1/3}.
All pole: H(z) = 1/A3(z) = 1/(1 + (13/24)z1 + (5/8)z2 + (1/3)z3).

Practise thisfrom lattice coefficients back to h(z) 2 worked

4.2IIR filters, and the structures that realize them

Direct form I and direct form II

b0 + b1 z^-1 + ... + bM z^-M B(z) H(z) = ------------------------------- = ---- 1 + a1 z^-1 + ... + aN z^-N A(z) DIRECT FORM I B(z) first, then 1/A(z). All zeros section, then all poles section. Delays used: M + N (two separate delay lines) DIRECT FORM II 1/A(z) first, then B(z). Since the two sections are in cascade they commute, and the two delay lines now carry the SAME signal w[n], so they merge into one. Delays used: max(M, N) CANONIC

The procedure, from a difference equation

  • Put it in standard form: y[n] alone on the left, everything else on the right, with the coefficient of y[n] made 1. If the equation reads 3y[n] + y[n1] + 2y[n-4] = 2x[n] + x[n3], divide through by 3 first.
  • Read off b and a. The x coefficients are b0, b1, ...; the y coefficients, moved to the right hand side with their signs flipped, are -a1, -a2, ....
  • Direct form I: draw the feed forward chain of delays with the b multipliers summing into a node, then from that node the feedback chain of delays with the -a multipliers summing back in.
  • Direct form II: draw one delay chain in the middle. The input plus the feedback taps enters at the top of the chain as w[n]; the b taps come off the same chain into the output adder.
The two equations of direct form II, worth writing under the diagram w[n]=x[n] - a1 w[n1] - a2 w[n2] - ... - aN w[nN]
y[n] = b0 w[n] + b1 w[n1] + ... + bM w[nM]
Writing these two lines proves you know why the delays merge, which is the part of the question that separates a 2 from a 4.
Worked, the one set three times y[n] - 0.75 y[n1] - 0.25 y[n2]=x[n] + 0.5 x[n1].
So b0 = 1, b1 = 0.5, a1 = -0.75, a2 = -0.25, and H(z) = (1 + 0.5z^-1)/(1 - 0.75z^-1 - 0.25z^-2).
Direct form I uses three delays: one on the input side for x[n1], two on the output side for y[n1] and y[n2].
Direct form II uses two: w[n]=x[n] + 0.75 w[n1] + 0.25 w[n2], then y[n]=w[n] + 0.5 w[n1]. Note the signs: the a coefficients are negative in the standard form, so they enter the structure as positive multipliers here.
In the exam
  • Normalise a0 to 1 first. Forgetting this on 3y[n] + ... = ... makes every coefficient wrong.
  • Watch the signs of the a's. Moving y[nk] across the equals sign flips the sign, and that flip is the commonest error in the whole chapter.
  • Say how many delays each form uses and that direct form II is canonic. Free marks.

A long direct form is exactly what coefficient quantization ruins, which is why cascade sections exist at all.

Practise thisdirect form realization 6 worked

Cascade and parallel forms PIN 3/19

81 Ba · 80 Ba · 76 Ch54

CASCADE H(z) = b0 . PRODUCT of H[k](z) 1 + b1k z^-1 + b2k z^-2 H[k](z) = ------------------------ a BIQUAD 1 + a1k z^-1 + a2k z^-2 PARALLEL H(z) = C + SUM of H[k](z) from a partial fraction expansion of H(z)

Building the cascade form

  • Factor both polynomials into first and second order factors.
  • Pair every complex root with its conjugate in the same section, so that all the coefficients come out real. A section containing only one of a conjugate pair would need complex multipliers and cannot be built.
  • Pair a numerator factor with a denominator factor to make each biquad, then draw each as a direct form II and put them in series.
  • Which pole goes with which zero matters in practice, because it decides the internal signal levels and therefore the overflow behaviour. The usual rule is to pair each pole with its nearest zero. The exam accepts any consistent pairing.
Worked pairing, the 2080 Baishakh and 2076 Chaitra pattern The question gives H(z) already factored, with conjugate pairs such as (1 - 0.3 ejπ/6 z1) and (1 - 0.3 ejπ/6 z1).
Multiply each pair out: (1 - r ejθ z1)(1 - r ejθ z1) = 1 - 2 r cos(θ) z1 + r^2 z2. That single identity turns every one of these questions into arithmetic.
For r = 0.3, θ = pi/6: 1 - 0.6 cos(30 deg) z1 + 0.09 z2 = 1 - 0.5196 z1 + 0.09 z2.

Parallel form. Expand H(z) by partial fractions into a constant plus a sum of first and second order terms, then realise each term as a direct form II and add the outputs. It is the least sensitive to coefficient rounding in the poles, but each section's zeros are implicit, so it is used less.

Practise thiscascade form 3 worked

The IIR lattice ladder TOP 10/19

82 Bh · 82 Ba · 81 Bh · 80 Bh · 80 Ba · 79 Ba · 76 Ch · 76 Ash · 75 Ch · 75 Ash6+47+36+3

The idea An all pole system, 1/A(z), is realised by running the FIR lattice backwards: the same stages with the forward path reversed. A general pole zero system B(z)/A(z) adds a ladder: the backward outputs g[m][n] of every stage are tapped, weighted by ladder coefficients C[m], and summed to form the output.
The denominator A(z) gives the LATTICE coefficients k[m], by exactly the same backward recursion as the FIR case. The numerator B(z) gives the LADDER coefficients C[m]: C[M] = b[M] M C[m] = b[m] - sum C[i] . a[i](i - m) for m = M-1 down to 0 i = m+1 where a[i](.) are the rows produced on the way down the lattice recursion. y[n] = sum from m = 0 to M of C[m] g[m][n]

The procedure

  • Separate H(z) into B(z) over A(z), both with a leading 1 in the denominator.
  • Run the lattice recursion on A(z) to get k[M] down to k[1], keeping every intermediate row a[m](i), because the ladder needs them.
  • Run the ladder recursion on B(z) from C[M] downwards, using those rows.
  • Draw: the lattice stages across the middle, the g outputs tapped downwards into the C multipliers, and one summing node producing y[n].
  • Check stability: the system is stable if and only if |k[m]| < 1 for every m, which is the whole reason this structure is used. No root finding required.
Worked, the one set three times H(z) = (2 - 0.7z^-1 + 0.5z^-2)/(1 - 0.3z^-1 + 0.25z^-2).
Lattice, from A(z) = 1 - 0.3z^-1 + 0.25z^-2: M = 2, a2 = (-0.3, 0.25), so k2 = 0.25.
a1(1) = [a2(1) - k2 a2(1)]/(1 - k2^2) = (-0.3 - 0.25(-0.3))/(1 - 0.0625) = -0.225/0.9375 = -0.24, so k1 = -0.24.
Both |k| < 1, so the system is stable.
Ladder, from B(z) = 2 - 0.7z^-1 + 0.5z^-2, so b0 = 2, b1 = -0.7, b2 = 0.5.
C2 = b2 = 0.5.
C1 = b1 - C2 a2(1) = -0.7 - 0.5(-0.3) = -0.7 + 0.15 = -0.55.
C0 = b0 - [C1 a1(1) + C2 a2(2)] = 2 - [(-0.55)(-0.24) + (0.5)(0.25)] = 2 - [0.132 + 0.125] = 1.743.
In the exam
  • Keep the intermediate rows. Throwing away a[1] and a[2] after finding the k's makes the ladder step impossible and costs half the question.
  • State the stability conclusion from the k's. It is one line and it is asked explicitly in several papers.
  • If the question gives H(z) as a product of factors, multiply it out into a single ratio of polynomials first. The recursion needs coefficients, not roots.

The |Km| < 1 test here is the stability condition of chapter 3, read off without ever finding a pole.

Practise thisthe iir lattice ladder 10 worked

4.3Quantization effects, limit cycles and scaling

Quantisation, limit cycles and the dead band PIN 1/19

71 Shr1+1+2+1

Why quantisation matters A digital filter runs on a machine with a fixed number of bits, so three things get rounded: the input samples, the coefficients, and the products inside the filter. Each one introduces an error that the ideal analysis does not predict, and in a recursive filter those errors are fed back.
EffectWhat it isWhat it does
Input quantisationRounding the sampled value to b bitsAdds quantisation noise; signal to noise ratio improves by about 6 dB per bit
Coefficient quantisationRounding ak and bk to b bitsMoves the poles and zeros, so the response is not the designed one, and the filter can even become unstable
Product roundoffA b bit times b bit product is 2b bits and must be cut back Adds noise; in a recursive filter it circulates
OverflowA sum exceeding the register rangeWraps around in two's complement, which is a large error; prevented by scaling or by saturation arithmetic

Rounding against truncation

RoundingTruncation
What it doesGoes to the nearest quantisation levelDrops the extra bits
Error range-q/2 to +q/2, where q is the step0 to -q for a positive number in sign magnitude
Mean errorZero, so it is unbiasedNon zero, a systematic bias
VerdictBetter. Same variance and no biasCheaper to implement, and biased
Limit cycles and the dead band A limit cycle is a small, self sustaining oscillation at the output of a recursive filter after the input has gone to zero. It happens because the rounded product feeds back and reproduces itself instead of decaying: the filter behaves as though its pole sat on the unit circle.
The dead band is the range of output amplitudes inside which the filter is trapped during a limit cycle. For a first order filter y[n] = a y[n1]+x[n] quantised with step q, the dead band is |y| <= q / (2(1 - |a|)).
FIR filters cannot have limit cycles, because there is no feedback path for the error to circulate in. That is one of the practical arguments for FIR.

Limit cycles need feedback, so they are an IIR problem only: an FIR filter has none, and that is one of the reasons to choose one.

Scaling, and keeping the arithmetic inside the register

In fixed point arithmetic every node has a finite range, usually -1 to just under +1. If a sum leaves that range it wraps around, turning a large positive number into a large negative one, and in a recursive filter that single error can start an oscillation that never stops. Scaling is the deliberate reduction of signal level that prevents it.

Let f[n] be the impulse response from the input to the node being protected, and let the input be bounded by |x[n]| <= 1. L1, the SAFE bound |y| <= sum of |f[n]| scale by s = 1 / sum |f[n]| overflow becomes IMPOSSIBLE, and the signal level is low, so noise is relatively high L2, the ENERGY bound scale by s = 1 / sqrt( sum of f[n]^2 ) overflow is possible but unlikely; the usual engineering choice Linf, the PEAK bound scale by s = 1 / max |F(e^jw)| safe for a NARROWBAND input only
  • Where the scaling factor goes. Split it across the sections of a cascade rather than putting it all at the input, so that no section is starved of signal and none overflows. This is why a cascade realization is usually drawn with a gain in front of each biquad.
  • Saturation arithmetic is the second defence: on overflow, clip to the largest representable value instead of wrapping. The error is then small and does not change sign, which kills overflow limit cycles.
  • Ordering and pairing. In a cascade, pair each pole with its nearest zero, so the section's gain stays flat, and put the sections with poles closest to the unit circle last, so their large internal signals pass through as little of the filter as possible.
  • The trade. Scaling down avoids overflow and raises the relative round off noise, since the noise floor does not scale with the signal. Too much scaling is as bad as too little; both show up as a poorer signal to noise ratio at the output.

Fixed point number formats

Asked as represent 5/8 and -5/8 in sign magnitude, 1's complement and 2's complement format. Work in binary fractions: the bit after the point is 12, then 1/4, then 1/8.

5/8 = 0.101 in binary (1/2 + 0 + 1/8) +5/8 -5/8 SIGN MAGNITUDE 0.101 1.101 flip the sign bit only 1's COMPLEMENT 0.101 1.010 invert every bit 2's COMPLEMENT 0.101 1.011 invert every bit, then add 1 LSB
  • Positive numbers are identical in all three formats. Only the negative representation differs.
  • Two's complement is what hardware uses, because addition and subtraction use the same adder and there is only one representation of zero. Sign magnitude and one's complement both have a +0 and a -0.
  • Two's complement overflow wraps, turning a large positive into a large negative, which is why overflow is so damaging in a recursive filter and why saturation arithmetic is preferred.

Practise thisthe iir lattice ladder 10 worked

4.4Last minute recall

Last minute recall, chapter 4

Must memorise
  • Direct form I uses M + N delays; direct form II uses max(M, N) and is therefore canonic. Say the numbers.
  • The feedback multipliers are -a1, -a2, not a1 and a2.
  • Km = the last coefficient of the polynomial at that order, and the step down divides by 1 - Km^2.
  • Am(z) = A(m-1)(z) + Km z^-m A(m-1)(z1), the reverse of the coefficient list, is the way back up.
  • |Km| < 1 for every m if and only if the filter is stable for an all pole lattice, and minimum phase for an all zero one. That test replaces finding the poles.
  • The ladder taps come from the numerator, top down, using the intermediate polynomials the recursion throws off.
  • A conjugate pair must stay in one section in a cascade, or the section has complex coefficients.
  • Rounding beats truncation because its error has zero mean; both have variance q^2/12.
  • Dead band |y| <= q / (2(1 - |a|)), and an FIR filter has no limit cycles at all.
Most repeated in this chapter, in order
  1. Lattice ladder coefficients for an IIR system TOP 10/19
  2. Direct form I and II realization TOP 9/19
  3. The FIR lattice HOT 7/19
  4. Cascade form with second order sections PIN 3/19
  5. Lattice coefficients back to H(z) PIN 2/19, quantization and limit cycles PIN 1/19, number formats PIN 1/19

Questions 5 and 6 are both from this chapter in most sittings, and they are drawings. Label every multiplier and every delay: an unlabelled signal flow graph scores nothing however correct its shape.

Chapter 5 · 6 hours · 15 marks · questions 7 and 8, every paper

FIR filter design

Two questions every paper, worth about fourteen marks between them: a design by window or by Kaiser window, and the Remez exchange algorithm. The second of those is pure bookwork, it has been asked in fifteen of nineteen sittings, and it never changes.

What this chapter is about
  • Why FIR: exactly linear phase, always stable, and what it costs.
  • The window method: truncate the ideal impulse response, and pay for the truncation with Gibbs' oscillation unless the truncation is tapered.
  • The Kaiser window: the one window with a knob, and the two formulas that turn a specification into a filter length.
  • The optimum filter: the alternation theorem and the Remez exchange algorithm.
Where it fits
  • Chapter 1's multiplication property is the whole theory of the window method: multiplying in time convolves in frequency.
  • Chapter 3 said only FIR can have exactly linear phase; here is how.
  • Chapter 4 realises whatever comes out, usually as a linear phase direct form.
  • Chapter 6 is the other half of filter design, and the paper always asks for a comparison somewhere.
What you will learn
  1. 5.1 Why FIR, and when to choose it, The linear phase condition, The ideal impulse responses, The window method, step by step, Gibbs' phenomenon, The fixed windows
  2. 5.2 The Kaiser window
  3. 5.3 Design by frequency sampling
  4. 5.4 The optimum filter and the Remez exchange algorithm
  5. 5.5 Last minute recall, chapter 5
How it is examined
  • One design question, 6 to 10 marks, using either a named window or the Kaiser window from a ripple specification.
  • One bookwork question, 4 to 9 marks: the Remez exchange algorithm with its flow chart, or Gibbs' phenomenon, or why Kaiser beats the fixed windows.
  • The bookwork is the easiest fourteen marks on the paper. Learn the flow chart cold.

5.1Design by the window method, and the common windows

Why FIR, and when to choose it PIN 3/19

82 Ba · 80 Ba · 76 Ash2+4+42+62+8

Advantages of the FIR digital filter

  • Always stable. All the poles sit at the origin, so stability is not something you have to check or protect.
  • Exactly linear phase is achievable, by making the impulse response symmetric. Every frequency is then delayed by the same amount and the waveform shape survives, so there is no phase distortion.
  • No feedback, so no accumulation of quantisation error, and no limit cycles.
  • Relatively easy to design, and efficient to implement: a linear phase filter of length N needs only about N/2 multiplications.
  • Realisable in hardware or software, and well suited to multirate and adaptive work.

Disadvantages, against IIR

  • More memory and more computation for the same response: a sharp specification can need a very large number of coefficients, often five to ten times the IIR order.
  • Some responses are impractical to build as FIR at all.
  • No analog counterpart, so the mature analog design tables cannot be reused.

In which case do we choose FIR and which IIR

Choose FIR whenChoose IIR when
Linear phase is required: audio, data transmission, biomedical, image work Phase distortion is acceptable
Guaranteed stability mattersA sharp cutoff is needed at low order
The coefficients will be heavily quantisedComputation and memory are tight
An arbitrary, non standard response is wantedAn analog design already exists to convert

Analog against digital filter, asked as its own comparison

Analog filterDigital filter
Operates onContinuous time signalsSampled, quantised sequences
Built fromR, L, C and op ampsAdders, multipliers, delays, in software or hardware
AccuracyLimited by component tolerance, and drifts with temperature and ageSet by word length; perfectly repeatable
Changing the responseChange componentsChange coefficients, at run time if wanted
Linear phaseVery hardExact, with FIR
Frequency rangeVery high frequencies possibleLimited by the sampling rate and the processor
Cost of a sharp filterGrows fastGrows with order, but only in arithmetic

The comparison itself is in chapter 3; what this chapter adds is how to actually build the FIR filter the comparison recommends.

The linear phase condition PIN 1/19

80 Bh10

Linear phase The phase response is a straight line in w, so the group delay τ = -d θ/dw is constant: every frequency component is delayed by the same number of samples. The filter delays the signal without changing its shape.
An FIR filter of length M has linear phase if h[n] = h[M - 1 - n] SYMMETRIC (or) h[n] = -h[M - 1 - n] ANTISYMMETRIC and the constant group delay is then tau = (M - 1)/2 samples.

Why symmetry gives linear phase. Group the terms of H(ejω) = sum h[n]ejωn in pairs, n with M-1-n. Each pair contributes h[n](ejωn + ejω(M1n)), and factoring out ejω(M1)/2 turns the bracket into 2 cos(w(M-1)/2 - wn), which is real. So the whole response is a real function times ejω(M1)/2, and the phase is exactly -w(M-1)/2: a straight line.

TypeSymmetryLength MCan realiseCannot
ISymmetricOddLow pass, high pass, band pass, band stop
IISymmetricEvenLow pass, band passHigh pass and band stop: H must be zero at ω=π
IIIAntisymmetricOddBand pass, differentiator, Hilbert transformerLow pass and high pass: H is zero at ω=0 and ω=π
IVAntisymmetricEvenHigh pass, differentiator, Hilbert Low pass and band stop: H is zero at ω=0

The practical consequence: for an ordinary low pass design use type I, an odd length with symmetric coefficients. That is what the window method produces, and it is why the length is nearly always rounded up to the next odd number.

Why the symmetry is forced on you, rather than chosen, is the causality argument in chapter 3.

Practise thisfir design by windowing 6 worked

The ideal impulse responses

Every window design starts by writing down the impulse response of the ideal filter you want, which comes from the inverse DTFT of a rectangle. Derive the low pass once and the others follow.

1 pi hd[n] = --- INT Hd(e^jw) e^(jwn) dw 2 pi -pi For an ideal LOW PASS with cutoff wc and delay alpha = (M-1)/2: 1 wc hd[n] = --- INT e^(-jw alpha) e^(jwn) dw 2 pi -wc sin( wc (n - alpha) ) = ---------------------- n not equal to alpha pi (n - alpha) hd[alpha] = wc / pi the n = alpha case, by L'Hopital
Ideal filterhd[n] for n not equal to alphahd[alpha]
Low pass, cutoff ωcsin(ωc(n-alpha)) / (pi(n-alpha)) ωc/pi
High pass, cutoff ωc-sin(ωc(n-alpha)) / (pi(n-alpha)) 1 - ωc/pi
Band pass, wc1 to wc2[sin(wc2(n-alpha)) - sin(wc1(n-alpha))] / (pi(n-alpha))(wc2 - wc1)/pi
Band stop, wc1 to wc2[sin(wc1(n-alpha)) - sin(wc2(n-alpha))] / (pi(n-alpha))1 - (wc2 - wc1)/pi
  • Every one of these is infinitely long and non causal, which is precisely the problem the window solves.
  • Notice the pattern: high pass is all pass minus low pass, band stop is all pass minus band pass. If you remember the low pass you can rebuild the rest.
  • hd is symmetric about alpha, so the design automatically has linear phase.

These come from the inverse DTFT, and the τ in every one of them is the delay that makes the filter causal.

The window method, step by step TOP 9/19

82 Bh · 81 Bh · 81 Ba · 79 Ba · 76 Ch · 74 Ash · 73 Shr · 72 Ch · 71 Shr2+65+310

The idea in one line Take the ideal impulse response, which is infinite, and multiply it by a finite length window w[n]. Multiplication in time is convolution in frequency, so the sharp ideal response gets smeared by the window's spectrum: the transition band comes from the width of the window's main lobe and the stopband ripple comes from its side lobes.
h[n] = hd[n] . w[n] 1 pi H(e^jw) = --- INT Hd(e^j theta) W(e^j(w - theta)) d theta 2 pi -pi MAIN LOBE wider -> transition band wider SIDE LOBES lower -> stopband attenuation better and the two always trade against each other for a given length.

The procedure

  • Read the specification and get ωp, ωs, and the attenuations. If the frequencies are in Hz, convert: ω=2π f / Fs.
  • Cutoff: put ωc in the middle of the transition band, ωc = (ωp+ωs)/2.
  • Transition width: delta w = ωsωp.
  • Choose the window from the required stopband attenuation, using the table below. Pick the narrowest main lobe that meets the attenuation, because a wider window than necessary means a longer filter.
  • Get the length M from the window's transition width entry, for example M = 6.6 pi / delta w for Hamming. Round up, and to an odd number for a type I filter.
  • Set alpha = (M-1)/2 and evaluate hd[n] for n=0 to M-1.
  • Evaluate w[n] over the same range and multiply: h[n]=hd[n]w[n].
  • State the answer as the list of h[n], note its symmetry, and draw the linear phase structure if asked.
Worked, 2082 Bhadra Passband edge 2 kHz, stopband edge 5 kHz, stopband attenuation 42 dB, sampling 20 kHz.
ωp=2π (2000)/20000 = 0.2π. ωs=2π (5000)/20000 = 0.5 pi.
delta ω=0.3 pi, and ωc = (0.2π + 0.5 pi)/2 = 0.35 pi.
42 dB of stopband attenuation rules out rectangular (21 dB) and Bartlett (25 dB); the Hanning window gives 44 dB, which is the narrowest window that clears it.
For Hanning, M = 6.2π / delta w = 6.2π / 0.3 pi = 20.7, so take M = 21, odd, and alpha = 10.
Then h[n] = [sin(0.35 pi (n-10))/(pi(n-10))] . [0.5 - 0.5 cos(2π n/20)] for n=0..20, with h[10] = 0.35.
In the exam
  • Convert to digital frequency first. Every Hz in the question must become radians per sample before anything else happens.
  • Say why you chose that window, naming its attenuation. That sentence is a mark on its own and it is the step the question is really testing.
  • Round M up and make it odd. Rounding down silently fails the specification.
  • Use the symmetry. You only need to compute h[0] to h[alpha]; the rest are mirrored, and saying so saves half the arithmetic.

The whole method is the multiplication property of the DTFT: multiplying by a window in time convolves the ideal response with the window spectrum in frequency. Gibbs' phenomenon and every row of the window table follow from that one line.

Practise thisfir design by windowing 6 worked

Gibbs' phenomenon HOT 4/19

82 Ba · 81 Ba · 80 Ba · 79 Bh2+52+83+3

Gibbs' phenomenon The oscillatory behaviour and the fixed overshoot that appear near a discontinuity when a Fourier series or an ideal frequency response is truncated. In FIR design it shows as ripples on both sides of the cutoff, with an overshoot of about 9 percent of the jump that does not shrink as the filter gets longer.

How it arises with the rectangular window, which is the question as asked

  • Truncation is multiplication by a rectangle. Keeping only M samples of the infinite hd[n] is h[n]=hd[n]w[n] with w[n] = 1 over the window and 0 outside.
  • So the spectrum is convolved with the rectangle's spectrum, which is the Dirichlet kernel, sin(wM/2)/sin(w/2). That kernel has a narrow main lobe and large side lobes, the first at about -13 dB.
  • Convolving a step with that kernel smears the edge into a transition band and wraps ripples round it. The ripples are the side lobes sliding past the discontinuity.
  • Increasing M narrows the main lobe, so the transition gets sharper and the ripples get faster, but the peak overshoot stays at about 9 percent. That is the surprising part, and it is what makes it a named phenomenon rather than just an error.

How it is minimised

  • Taper the window. A window that goes smoothly to zero at its ends, such as Hanning, Hamming or Blackman, has much smaller side lobes, so the ripples shrink. The price is a wider main lobe and therefore a wider transition band.
  • Use the Kaiser window, which lets you trade the two continuously instead of picking from a fixed menu.
  • Use an equiripple design. The Remez exchange algorithm does not truncate at all; it minimises the maximum error directly, so the ripple is spread evenly and is as small as the length allows.
  • It can never be removed by lengthening the filter alone. Saying this is the point of the question.

The overshoot is the same one that a truncated Fourier series shows at a discontinuity, and the cure, a tapered window, is what the Kaiser window makes adjustable.

The fixed windows

RECTANGULAR w[n] = 1 0 <= n <= M-1 BARTLETT w[n] = 1 - |2n - (M-1)| / (M-1) HANNING w[n] = 0.5 - 0.5 cos( 2 pi n / (M-1) ) HAMMING w[n] = 0.54 - 0.46 cos( 2 pi n / (M-1) ) BLACKMAN w[n] = 0.42 - 0.5 cos(2 pi n/(M-1)) + 0.08 cos(4 pi n/(M-1))
WindowMain lobe widthApproximate transition width Peak side lobeMinimum stopband attenuationLength from delta w
Rectangular4 pi / M0.9 pi / M-13 dB21 dB M = 1.8 pi / delta w
Bartlett8 pi / M3.1 pi / M-25 dB25 dB M = 6.2π / delta w
Hanning8 pi / M3.1 pi / M-31 dB44 dB M = 6.2π / delta w
Hamming8 pi / M3.3 pi / M-41 dB53 dB M = 6.6 pi / delta w
Blackman12 pi / M5.5 pi / M-57 dB74 dB M = 11 pi / delta w
  • Read the table from the right. The specification gives a stopband attenuation, so pick the first window in the list that meets it, then use its length formula.
  • The trade is visible in the table: going down the list the attenuation improves and the main lobe widens, so the filter gets longer for the same transition band.
  • The attenuation column is a property of the window, not of M. Lengthening the filter narrows the transition; it does not improve the stopband.

Each window is a different trade between main lobe width and side lobe height, which by the multiplication property is a trade between transition width and stopband ripple.

Practise thisfir design by windowing 6 worked

5.2Design by the Kaiser window

The Kaiser window HOT 5/19

80 Bh · 78 Bh · 75 Ash · 74 Ch · 72 Ka2+2+28+49+3

Why Kaiser is better than the fixed windows The fixed windows offer a fixed trade between transition width and stopband attenuation: choosing Hamming commits you to 53 dB whether you needed 45 or 60. The Kaiser window has a shape parameter β that slides continuously between them, so you can meet the specification exactly rather than exceed it, and the filter comes out as short as the specification allows. It is very close to the optimal window in the sense of concentrating energy in the main lobe.
I0( beta sqrt( 1 - [ (2n/(M-1)) - 1 ]^2 ) ) w[n] = --------------------------------------------- 0 <= n <= M-1 I0( beta ) I0 is the zeroth order modified Bessel function of the first kind. DESIGN FORMULAS delta = min( delta_p , delta_s ) use the SMALLER ripple A = -20 log10( delta ) in dB 0.1102 (A - 8.7) for A > 50 beta = 0.5842 (A - 21)^0.4 + 0.07886(A - 21) for 21 <= A <= 50 0 for A < 21 A - 8 M >= --------------- + 1 delta w = ws - wp 2.285 . delta w

The procedure

  • Turn the magnitude limits into ripples. A specification such as 0.99 <= |H| <= 1.01 means δp = 0.01; |H| <= 0.01 in the stopband means δs = 0.01.
  • Take the smaller of the two as delta, because the window method produces approximately equal passband and stopband ripple, so the tighter one governs.
  • Compute A in dB, then β from the piecewise formula, then M from the length formula, rounding up to the next odd integer.
  • Set alpha = (M-1)/2, compute hd[n] as usual with ωc = (ωp+ωs)/2, compute w[n], and multiply.
Worked, the 2075 Ashwin and 2072 Kartik specification 0.99 <= |H| <= 1.01 for 0 <= w <= 0.19 pi, and |H| <= 0.01 for 0.21 pi <= w <= pi.
δp = 0.01 and δs = 0.01, so delta = 0.01 and A = -20 log10(0.01) = 40 dB.
A is between 21 and 50, so β = 0.5842(40-21)^0.4 + 0.07886(40-21) = 0.5842(3.255) + 1.498 = 1.902 + 1.498 = 3.40.
delta ω=0.21 pi - 0.19 pi = 0.02 pi = 0.0628.
M >= (40 - 8)/(2.285 x 0.0628) + 1 = 32/0.1435 + 1 = 223 + 1 = 224, so take M = 225, odd, and alpha = 112.
In the exam
  • Use the smaller ripple. Using δp when δs is smaller under designs the filter.
  • Check which branch of the β formula you are in before substituting. A = 40 is the middle branch; A = 60 is the top one.
  • A very narrow transition gives a very long filter, and that is the correct answer, not a mistake. Say so rather than quietly rounding M down.
  • The question sometimes asks only for ripple, attenuation and length, as in 2080 Bhadra. Then delta, A, β and M are the entire answer.

It beats the fixed windows for the same reason the Remez design beats it: the less the error is allowed to exceed the specification, the lower the order.

Practise thisfir design with the kaiser window 3 worked

5.3Design by frequency sampling

Design by frequency sampling

The third FIR design method on the syllabus. Instead of truncating an ideal impulse response, you specify the frequency response at N equally spaced points and take the inverse DFT to get h[n]. The designed filter then passes exactly through those points, and does whatever the interpolation does in between.

STEP 1 Choose N, the filter length. STEP 2 Sample the desired response at w(k) = 2 pi k / N : H(k) = Hd( e^( j 2 pi k / N ) ) e^( -j pi k (N-1) / N ) ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ the magnitude the linear phase term you want, 1 in that makes h[n] causal the passband and and symmetric 0 in the stopband STEP 3 Impose the symmetry H(N - k) = H*(k), so that h[n] comes out real. STEP 4 h[n] = (1/N) sum over k of H(k) e^( j 2 pi k n / N ) the IDFT STEP 5 Check the response BETWEEN the samples, and if the stopband is not good enough, go back and make the TRANSITION samples free.
  • The naive version is poor. Jumping straight from 1 to 0 between two adjacent samples is the same discontinuity that causes Gibbs' phenomenon, and the stopband comes out at about -20 dB, which is useless.
  • The fix is transition samples. Leave one, two or three samples in the transition band unspecified and choose their values to minimize the peak stopband ripple. One free sample buys roughly -44 dB, two about -65 dB, three about -85 dB. Tables of the optimum values are standard, and this optimisation is what makes the method usable.
  • Where it wins: a response given as a set of numbers rather than as a formula, and narrow band filters, where most H(k) are zero and the frequency sampling structure from chapter 4 then realizes it cheaply.
  • Where it loses: control of the response between the samples, which the window method gives smoothly and Remez gives optimally.
WindowFrequency samplingOptimum, Remez
You specifyBand edges and rippleN samples of HBand edges and a ripple ratio
Error shapeLargest at the band edgeZero at the samples, free betweenEquiripple everywhere
Order neededHighestMiddlingLowest
Design effortA formulaAn IDFT, plus an optimisation for the transition samplesAn iterative program

The structure that realizes a filter designed this way, cheaply when most samples are zero, is the frequency sampling structure.

5.4Design by optimum approximation: the Remez exchange algorithm

The optimum filter and the Remez exchange algorithm TOP 11/19

82 Bh · 81 Bh · 79 Bh · 79 Ba · 78 Bh · 76 Ch · 75 Ch · 74 Ash · 73 Shr · 72 Ch · 71 Shr1+41+62+6

Asked in fifteen of nineteen papers, worth 4 to 9 marks, and always the same answer: define the optimum filter, state the minimax criterion, state the alternation theorem, write the matrix equation, and draw the flow chart.

What an optimum filter is A filter is optimum, or equiripple, when the maximum weighted error between the designed response and the desired response is as small as possible. The window method minimises nothing in particular; it just truncates, and its error is largest near the band edges. The optimum filter spreads the error evenly, so for a given length the worst case error is the least it can be. It is also called the minimax or weighted Chebyshev design, and the algorithm that finds it is the Remez exchange algorithm, applied to filters by Parks and McClellan.
For a type I linear phase FIR of even order M, write L H(e^jw) = e^(-jwM/2) . sum a[k] cos(wk) L = M/2 k = 0 \____________________/ A(w) a[0] = h[M/2], a[k] = 2 h[M/2 - k], k = 1 .. M/2 THE MINIMAX PROBLEM E(w) = W(w) [ Hd(w) - A(w) ] choose a[k] to MINIMISE MAX |E(w)| over the bands of interest a[k] w Hd(w) : the real valued desired response W(w) : a non negative weighting function, used to make the passband ripple and the stopband ripple different if the specification asks for different ones: W(w) = delta_s / delta_p in the passband, 1 in the stopband.
The alternation theorem, which is why the algorithm works A(w) is the unique best approximation to Hd(ω) if and only if the error E(ω) exhibits at least L + 2 extremal frequencies: there are frequencies w1 < w2 < ... < w(L+2) in the bands such that
E(w[k]) = -E(w[k+1]), the error alternates in sign between successive extrema, and
|E(w[k])| = delta = max |E(ω)|, every one of them reaches the maximum error.
So the optimum filter is recognised by its equiripple error, and the design problem becomes: find the extremal frequencies.
THE REMEZ EXCHANGE ALGORITHM 1. GUESS an initial set of L+2 extremal frequencies w1 ... w(L+2), usually spaced evenly across the passband and the stopband. 2. SOLVE for the a[k] and for delta that make the error alternate exactly, that is, force (-1)^k . delta = W(w[k]) [ Hd(w[k]) - A(w[k]) ] which rearranges to A(w[k]) + (-1)^k delta / W(w[k]) = Hd(w[k]) and is the linear system | 1 cos w1 cos 2w1 ... cos(L w1) -1/W(w1) | | a[0] | | Hd(w1) | | 1 cos w2 cos 2w2 ... cos(L w2) +1/W(w2) | | a[1] | | Hd(w2) | | . | | ... | = | ... | | 1 cos w(L+2) ... cos(L w(L+2)) (-1)^(L+2)/W | | delta| |Hd(wL+2)| In practice delta is obtained in closed form and A(w) by Lagrange interpolation, rather than by inverting the matrix. 3. COMPUTE the error E(w) on a dense grid of frequencies. 4. FIND the new extremal frequencies: the L+2 largest local peaks of |E(w)|. 5. If the new set equals the old set, STOP: the filter is optimal. Otherwise EXCHANGE, replacing the old set by the new one, and go to 2. 6. On convergence, compute h[n] from the a[k] by the inverse relation and by the symmetry h[n] = h[M-n].

The flow chart, which the question nearly always asks for. Draw it as a single loop:

  • Start with the specification: band edges, desired response, weights, and the order M.
  • Box: initial guess of L+2 extremal frequencies.
  • Box: compute delta and the interpolated A(w) on the extremal set.
  • Box: evaluate E(ω) on a dense grid.
  • Box: find the new extremal frequencies.
  • Decision diamond: have the extremal frequencies changed? Yes loops back to the delta and A(w) box; No falls through.
  • Box: compute the impulse response h[n] from ak.
  • Stop.

Estimating the order before you start. The paper sometimes wants the length first, and the standard estimate for an equiripple design is

-10 log10( delta_p . delta_s ) - 15 M = ------------------------------------ where delta f = (ws - wp)/(2 pi) 14 . delta f
In the exam
  • Answer in five parts: what optimum means, the minimax statement, the alternation theorem, the algorithm steps, the flow chart. Papers that ask for 9 marks want all five; papers that ask for 4 want the first three and the chart.
  • The phrase that earns the definition mark is that the maximum error is minimised, so the error is equiripple across the bands.
  • L + 2, not L. Getting the number of extremal frequencies wrong is the one detail markers look for.
  • Draw the chart even when the question does not say draw. It takes a minute and it is the clearest evidence you know the loop.

Compare the error shapes: a window design is worst at the band edge and tiny elsewhere, which is the waste that equiripple removes.

5.5Last minute recall

Last minute recall, chapter 5

Must memorise
  • hd[n] = sin(ωc(n - τ))/(pi(n - τ)), with hd[τ] = ωc/pi and τ = (N1)/2.
  • The window is chosen by the attenuation, the length by the transition width. Rectangular 21 dB, Bartlett 25, Hanning 44, Hamming 53, Blackman 74.
  • Transition widths: 1.8, 6.1, 6.2, 6.6 and 11 times pi/N in the same order.
  • As = -20 log10(δs), so a stopband ripple of 0.01 is 40 dB.
  • ωc = (ωp+ωs)/2, and N is rounded up to the next odd value.
  • Kaiser: A = -20 log10(delta), β from A, N >= (A - 8)/(2.285 dw) + 1. Take the smaller ripple, and the narrower transition band.
  • Gibbs overshoot is about 9 percent whatever N is. Lengthening the filter narrows the ripples, it does not shrink them; only a tapered window does.
  • Linear phase needs h[n]=h[N1n], and the group delay is then (N1)/2 samples at every frequency.
  • The alternation theorem: the best Chebyshev approximation has at least L + 2 extrema of alternating sign and equal size.
Most repeated in this chapter, in order
  1. The optimum filter and the Remez exchange algorithm TOP 15/19, almost always with the flowchart
  2. Design by a window TOP 11/19 and design with a Kaiser window TOP 11/19
  3. Gibbs phenomenon HOT 6/19
  4. When to choose FIR against IIR PIN 2/19

The Remez question is worth more marks than any other single theory question on the paper and is almost entirely bookwork: the definition of an optimum filter, the weighted error, the alternation theorem, and the flowchart. Learn the flowchart.

Chapter 6 · 6 hours · 15 marks · question 9, every paper

IIR filter design

One question, twelve to fifteen marks, in every single paper: design a digital Butterworth filter, almost always by the bilinear transformation. It is the longest single question on the paper and it is entirely procedural, so it is also the most reliable block of marks available.

What this chapter is about
  • The route: a digital IIR filter is designed by borrowing an analog prototype and mapping it into the z-plane.
  • The Butterworth approximation and the two formulas that turn a specification into an order and a cutoff.
  • The two mappings: impulse invariance, which aliases, and the bilinear transformation, which warps.
  • Spectral transformation, which turns the low pass you designed into a high pass without starting again.
Where it fits
  • Chapter 3 gave the magnitude response this chapter is trying to hit.
  • Chapter 4 realises the H(z) that comes out, usually as a cascade of biquads or as a lattice ladder.
  • Chapter 5 is the other half of filter design, and the comparison between them is asked repeatedly.
What you will learn
  1. 6.1 The design route, Impulse invariance
  2. 6.2 The bilinear transformation, Bilinear transformation against impulse invariance
  3. 6.3 The Butterworth approximation
  4. 6.4 Chebyshev, elliptic and Bessel: the other approximations, Digital domain spectral transformation
  5. 6.5 Last minute recall, chapter 6
How it is examined
  • Question 9 is the design, 10 to 15 marks, with a Butterworth prototype and usually the bilinear transformation.
  • A 2 to 4 mark rider is attached: compare the two methods, explain warping, explain prewarping, or convert the result to a high pass.
  • The specification arrives in one of three dresses: as magnitudes (0.8 <= |H| <= 1), as decibels (-3 dB and -10 dB), or as ripples (δp = 0.11). All three reduce to the same two numbers.

6.1Design by the impulse invariance method

The design route TOP 18/19

82 Bh · 82 Ba · 81 Bh · 81 Ba · 80 Bh · 80 Ba · 79 Bh · 79 Ba · 78 Bh · 76 Ch · 76 Ash · 75 Ch · 75 Ash · 74 Ch · 74 Ash · 73 Shr · 72 Ka · 71 Shr2+1011+411+3

Why go through an analog filter at all. Analog approximation theory is a century old and complete: Butterworth, Chebyshev and elliptic responses are tabulated, optimal in a known sense, and easy to compute. There is no equivalent direct theory for IIR digital filters, so the practical route is to design the analog filter and map it.

DIGITAL SPEC wp, ws in radians per sample, with attenuations | | 1. PREWARP (bilinear only) Omega = (2/T) tan(w/2) v ANALOG SPEC Omega_p, Omega_s with the same attenuations | | 2. ORDER N and CUTOFF Omega_c from the Butterworth formulas v ANALOG PROTOTYPE Ha(s), from the normalised Butterworth polynomial | | 3. TRANSFORM s -> z by bilinear or by impulse invariance v DIGITAL FILTER H(z), then realise it with a chapter 4 structure

The five steps written out, which is the skeleton of every answer

  • Convert the specification to ωp and ωs in radians per sample, and the attenuations to dB. If Hz are given, ω=2π f / Fs.
  • Prewarp both band edges, if using the bilinear transformation.
  • Find N and round up to an integer, then find Omega_c.
  • Write Ha(s) from the normalised polynomial of order N with s replaced by s/Omega_c.
  • Substitute the mapping and simplify to H(z) in powers of z1.

Every step below produces the H(z) that chapter 4 then realizes, and whose poles chapter 3 would sketch.

Practise thisbutterworth iir design 11 worked

Impulse invariance PIN 1/19

72 Ch3+12

The idea Make the digital filter's impulse response equal to samples of the analog filter's impulse response: h[n] = T ha(nT). The digital filter then behaves like the analog one in the time domain, sample for sample.
DERIVATION Expand Ha(s) in partial fractions: N A[k] Ha(s) = sum -------- so ha(t) = sum A[k] e^(p[k] t) u(t) k = 1 s - p[k] Sample: h[n] = T ha(nT) = T sum A[k] ( e^(p[k] T) )^n u[n] Take the z-transform of each term, using a^n u[n] -> 1/(1 - a z^-1): N T A[k] H(z) = sum ------------------ k = 1 1 - e^(p[k] T) z^-1 So the mapping of the POLES is s = p[k] -> z = e^(p[k] T) and the relation between frequencies is w = Omega T, which is LINEAR.

The consequences

  • The frequency axis maps linearly, w = Omega T, so there is no warping: the shape of the passband is preserved exactly.
  • But sampling aliases. The analog response does not stop at Omega = pi/T, so everything above that folds back:
    H(ejω) = (1T) sum over k of Ha(j(w/T - 2π k/T)).
    The digital response is the sum of shifted copies of the analog one, and the tails overlap. The stopband is filled in and the specification can fail.
  • So it is only suitable for band limited filters: low pass and band pass, where the analog response is already small above pi/T. A high pass or band stop filter cannot be designed this way, because its response does not decay.
  • Zeros do not map by z = esT. Only the poles do; the zeros come out of the partial fraction algebra and land somewhere else, which is why the two responses are not identical even before aliasing.
  • The T in h[n] = T ha(nT) is a scaling so the gain does not depend on the sampling rate. Some books leave it out; say which you use.

The procedure: find N and Omega_c as usual, but with no prewarping, using Omega = w/T directly; write Ha(s); expand it in partial fractions; replace each term A/(s - p) by TA/(1 - epT z1); combine into one rational H(z).

The aliasing is the same overlap as in sampling a continuous time signal, for the same reason, and the partial fraction step is the one from chapter 2.

Practise thisbutterworth iir design 11 worked

6.2Design using the bilinear transformation

The bilinear transformation

The mapping A one to one, algebraic substitution that maps the entire left half of the s-plane into the inside of the unit circle, with no aliasing at all, at the cost of compressing the infinite analog frequency axis into the finite digital one.
2 1 - z^-1 1 + s T/2 s = --- ---------- and z = ----------- T 1 + z^-1 1 - s T/2

Where it comes from. It is the trapezoidal rule for integration, written as a transfer function.

An integrator has Ha(s) = 1/s, that is y'(t) = x(t). Integrate from (n-1)T to nT by the TRAPEZOIDAL rule: y[n] = y[n-1] + (T/2) ( x[n] + x[n-1] ) Take z-transforms: Y(z) (1 - z^-1) = (T/2) X(z) (1 + z^-1) Y(z) T 1 + z^-1 ---- = --- -------- which must equal 1/s X(z) 2 1 - z^-1 so s = (2/T) (1 - z^-1)/(1 + z^-1) QED

The frequency relation, and warping. Put s = j Omega and z = ejω:

2 1 - e^-jw 2 e^(-jw/2)( e^(jw/2) - e^(-jw/2) ) j Om = --- --------- = --- -------------------------------- T 1 + e^-jw T e^(-jw/2)( e^(jw/2) + e^(-jw/2) ) 2 2j sin(w/2) 2 = --- ------------ = j --- tan( w / 2 ) T 2 cos(w/2) T 2 ( Omega T ) Omega = --- tan( w / 2 ) and w = 2 arctan( --------- ) T ( 2 )
Frequency warping, and prewarping The relation between Omega and w is a tangent, not a straight line. It is nearly linear for small w and bends sharply as w approaches pi, squeezing the whole infinite range 0 <= Omega < infinity into 0 <= w < pi. This non linear compression is frequency warping.
Warping does not distort the magnitude values, only the frequencies at which they occur, so a piecewise constant specification survives it. A phase response or a differentiator does not.
Prewarping is the cure: before designing, push every critical digital frequency through Omega = (2/T) tan(w/2), design the analog filter at those warped analog frequencies, and the bilinear transformation then bends them back to exactly where the specification wanted them.

Why the mapping is safe

  • No aliasing. The mapping is one to one: each point of the s-plane goes to exactly one point of the z-plane, so no two analog frequencies land on the same digital one.
  • Stability is preserved. The left half plane, Re(s) < 0, maps to the inside of the unit circle, |z| < 1. A stable analog filter always gives a stable digital filter.
  • The imaginary axis maps to the unit circle, so the analog frequency response becomes the digital frequency response, rearranged in frequency but not in value.
  • It works for every filter type, high pass and band stop included, which impulse invariance cannot do.
Worked, the 2075 Chaitra and 2082 Baishakh specification 0.8 <= |H| <= 1 for 0 <= w <= 0.2π, and |H| <= 0.2 for 0.6 pi <= w <= pi, with Fs = 1 Hz so T = 1.
Attenuations: alpha_p = -20 log10(0.8) = 1.9382 dB; alpha_s = -20 log10(0.2) = 13.9794 dB.
Prewarp: Omega_p = 2 tan(0.1 pi) = 2(0.3249) = 0.6498; Omega_s = 2 tan(0.3 pi) = 2(1.3764) = 2.7528.
Order: 10^(0.1 x 1.9382) - 1 = 0.5625; 10^(0.1 x 13.9794) - 1 = 24.0.
N >= log10(24.0/0.5625) / (2 log10(2.7528/0.6498)) = log10(42.67)/(2 log10(4.236)) = 1.630/(2 x 0.6270) = 1.30, so N = 2.
Cutoff: Omega_c = 0.6498 / (0.5625)^(1/4) = 0.6498/0.8660 = 0.7504.
Prototype: Ha(s) = Omega_c^2/(s^2 + 1.4142 Omega_c s + Omega_c^2) = 0.5631/(s^2 + 1.0613 s + 0.5631).
Substitute s = 2(1 - z1)/(1 + z1) and clear the fractions to get H(z) in powers of z1.
In the exam
  • Prewarp before you compute N, not after. Computing the order from the unwarped edges is the single commonest error in this question.
  • T cancels out of the order calculation, since only the ratio Omega_s/Omega_p appears, but it does not cancel out of the substitution. Keep it.
  • Show the substitution line. Several marks live in the algebra of clearing (1 + z1) out of the denominator.
  • Check the gain at DC. H(z) at z=1 should be 1 for a low pass. It is a one line check on a long calculation.

It maps the whole left half plane inside the unit circle, which is the stability condition made automatic. The price, warping, is the price of avoiding the aliasing of chapter 1.

Practise thisbutterworth iir design 11 worked

Bilinear transformation against impulse invariance

Impulse invarianceBilinear transformation
Based onSampling the analog impulse response, h[n] = T ha(nT) An algebraic substitution, from trapezoidal integration
Mappingz = esT, many to ones = (2/T)(1-z1)/(1+z1), one to one
Frequency relationw = Omega T, linearOmega = (2/T) tan(w/2), non linear
AliasingYes, and it fills in the stopbandNone
WarpingNoneYes, corrected by prewarping
Usable forLow pass and band pass onlyAll types, high pass and band stop included
PreservesThe shape of the impulse responseThe magnitude values, and stability
StabilityPreserved, provided sampling is fast enoughAlways preserved
Poles and zerosPoles map by epT; the zeros do not mapBoth map by the same substitution
VerdictUse when the time domain shape matters and the filter is band limitedThe default choice, and the one the paper asks for

The advantages of the bilinear method over impulse invariance, which is the wording the paper uses: no aliasing, so the designed stopband is actually achieved; a one to one mapping, so stability is guaranteed; it works for every filter type; and the warping it introduces is completely correctable by prewarping, whereas aliasing is not correctable at all.

6.3Design of a digital low pass Butterworth filter

The Butterworth approximation

The Butterworth low pass The magnitude squared response is maximally flat at Omega = 0: the first 2N-1 derivatives vanish there. There is no ripple in either band, and the response falls monotonically, at 20N dB per decade far out.
1 |Ha(j Omega)|^2 = --------------------------- 1 + ( Omega / Omega_c )^2N At Omega = Omega_c : |Ha|^2 = 1/2, that is -3 dB, for any N. So Omega_c is always the 3 dB cutoff.

Deriving the order formula. This is the derivation the paper means by show how the order is obtained, and it is four lines.

Let the passband requirement be |Ha(j Omega_p)|^2 >= 1 / (1 + eps^2) and the stopband requirement |Ha(j Omega_s)|^2 <= 1 / lambda^2 In decibels, with attenuations alpha_p and alpha_s : eps^2 = 10^(0.1 alpha_p) - 1 lambda^2 = 10^(0.1 alpha_s) - 1 Substituting into the magnitude squared expression at each edge: ( Omega_p / Omega_c )^2N = eps^2 ( Omega_s / Omega_c )^2N = lambda^2 Divide the second by the first to eliminate Omega_c : ( Omega_s / Omega_p )^2N = lambda^2 / eps^2 Take logs and solve for N : log10 [ ( 10^(0.1 alpha_s) - 1 ) / ( 10^(0.1 alpha_p) - 1 ) ] N >= ----------------------------------------------------------- 2 log10 ( Omega_s / Omega_p ) Round N UP to the next integer. Then Omega_c from either edge: Omega_c = Omega_p / ( 10^(0.1 alpha_p) - 1 )^(1/2N) exact at the passband Omega_c = Omega_s / ( 10^(0.1 alpha_s) - 1 )^(1/2N) exact at the stopband
  • Which Omega_c to use. Rounding N up means the filter over performs, so the two formulas give slightly different cutoffs. Using the passband one meets the passband exactly and beats the stopband; using the stopband one does the reverse. Either is accepted; say which you used.
  • If the specification is given as ripples rather than dB, convert first: alpha_p = -20 log10(1 - δp) and alpha_s = -20 log10(δs). A specification such as 0.8 <= |H| <= 1 with |H| <= 0.2 gives alpha_p = -20 log10(0.8) = 1.94 dB and alpha_s = -20 log10(0.2) = 13.98 dB.
The poles, and the prototype The poles of |Ha(s)|^2 lie on a circle of radius Omega_c, equally spaced, and the stable filter takes the left half plane ones:
s[k] = Omega_c ejπ(2k+N+1)/(2N), for k=0, 1, ..., N-1.
They are symmetric about the real axis, never on the imaginary axis, and separated by pi/N radians.
NNormalised Butterworth denominator, with Omega_c = 1
1s + 1
2s^2 + 1.4142 s + 1
3(s + 1)(s^2 + s + 1) = s^3 + 2s^2 + 2s + 1
4(s^2 + 0.7654s + 1)(s^2 + 1.8478s + 1)
5(s + 1)(s^2 + 0.6180s + 1)(s^2 + 1.6180s + 1)

To denormalise, replace s by s/Omega_c throughout, so that for N = 2 Ha(s) = Omega_c^2 / (s^2 + 1.4142 Omega_c s + Omega_c^2). The numerator is whatever makes Ha(0) = 1.

In the exam
  • Round N up, always, and say what N you are using before computing Omega_c.
  • Keep four decimal places through the prewarping and the cutoff. These questions carry the error forward, and a two decimal Omega_c gives a visibly wrong H(z).
  • N is usually 2 or 3 in these papers. If you get 7, re check the attenuations.

The poles this places on a circle are what a pole zero sketch would show, and a cascade of biquads is how the finished filter is actually built.

Practise thisbutterworth iir design 11 worked

6.4Chebyshev, elliptic and Bessel filters, and spectral transformation

Chebyshev, elliptic and Bessel: the other approximations

Butterworth is the one the paper sets, but the syllabus asks for the properties of the other three, and the comparison is worth knowing because it is the same trade every time: allow ripple, and you need fewer poles.

PassbandStopbandRoll offPhase and delay Order for the same job
ButterworthMaximally flat, monotonicMonotonic Slowest, 20N dB per decadeBest behaved of the three ripple types Highest
Chebyshev IEquirippleMonotonicFaster Worse near the edgeLower
Chebyshev IIMonotonic, flatEquiripple FasterBetter than type ILower
Elliptic, CauerEquirippleEquiripple FastestWorst, very non linear near the edgeLowest
Bessel, ThomsonMonotonicMonotonic Slowest of allMaximally flat GROUP DELAY, nearly linear phase Highest
CHEBYSHEV TYPE I 1 |Ha(jW)|^2 = ------------------- TN = Chebyshev polynomial 1 + eps^2 TN^2(W/Wp) TN(x) = cos( N arccos x ) for |x| <= 1, ripples between -1 and 1 = cosh( N arccosh x ) for |x| > 1, grows fast eps^2 = 10^(0.1 Ap) - 1 sets the passband ripple ORDER N >= arccosh( sqrt( (10^(0.1 As) - 1)/(10^(0.1 Ap) - 1) ) ) / arccosh( Ws / Wp ) The poles lie on an ELLIPSE, not a circle: the Butterworth circle with its real parts squashed by sinh(a) and its imaginary parts stretched by cosh(a), where a = (1/N) arcsinh(1/eps).
  • Where the ripple count goes. A Chebyshev type I filter of order N has N ripples in the passband, and the response starts at 1 for odd N and at 1/sqrt(1 + eps^2) for even N. That detail is a favourite short question.
  • The elliptic filter uses Jacobian elliptic functions in place of the Chebyshev polynomial and ripples in both bands. For a given specification it always has the lowest order of any of them, which is why it is used wherever phase does not matter.
  • The Bessel filter approximates a constant group delay rather than a flat magnitude, so a pulse passes through with its shape intact. It has the poorest selectivity, and note that the bilinear transformation destroys its one virtue, because warping bends the delay, so a digital Bessel filter is designed by matching the delay directly rather than by transforming.
  • The choice, in one line: flat passband and gentle phase, Butterworth; sharper for the same order and ripple allowed in one band, Chebyshev; the sharpest possible and phase irrelevant, elliptic; pulse shape must survive, Bessel.

The trade here, ripple against order, is the same one the optimum FIR design makes: allow the error to oscillate and you need fewer coefficients.

Digital domain spectral transformation PIN 1/19

80 Ba4

What it is for Once a digital low pass prototype exists with cutoff theta_p, another filter of a different type or a different cutoff can be obtained by substituting an all pass function for z1. There is no need to go back to the analog prototype, and because the substitution is all pass it maps the unit circle onto itself, so stability and the magnitude values are preserved.
To getReplace z1 byParameter
Low pass, new cutoff ωp(z1 - a)/(1 - a z1) a = sin((theta_p - ωp)/2) / sin((theta_p + ωp)/2)
High pass, cutoff ωp-(z1 + a)/(1 + a z1) a = -cos((theta_p + ωp)/2) / cos((theta_p - ωp)/2)
Band pass, wl to wu-(z2 - a1 z1 + a2)/(a2 z2 - a1 z1 + 1) From the two band edges and theta_p
Band stop, wl to wu(z2 - a1 z1 + a2)/(a2 z2 - a1 z1 + 1) From the two band edges and theta_p

Features and parameters, for the low pass to high pass case, which is the one asked

  • One parameter, a, computed from the prototype cutoff theta_p and the required high pass cutoff ωp.
  • The order does not change. A second order low pass gives a second order high pass.
  • The minus sign is what flips the band. It rotates the unit circle by pi, taking ω=0 to ω=π, so the passband moves from around DC to around Nyquist.
  • Stability survives because the substitution is all pass and maps the inside of the unit circle to itself.
  • The magnitude values survive exactly; only the frequencies at which they occur move, in the same spirit as warping.

Worked, the 2079 Bhadra rider: a digital low pass has been designed with theta_p = 0.25 pi and a high pass with w'p = 0.45 pi is wanted. a = -cos((0.25 pi + 0.45 pi)/2)/cos((0.25 pi - 0.45 pi)/2) = -cos(0.35 pi)/cos(-0.1 pi) = -0.4540/0.9511 = -0.4774. Substitute z1 by -(z1 - 0.4774)/(1 - 0.4774 z1) in the low pass H(z).

Because the substitution is all pass, it moves the band edges without touching the ripple, so one Butterworth prototype serves every band type.

6.5Last minute recall

Last minute recall, chapter 6

Must memorise
  • Prewarp: Ωp = (2/T) tan(ωp/2). Impulse invariance instead scales linearly, Ω=ω/T.
  • N >= log10[(10^(0.1As) - 1)/(10^(0.1Ap) - 1)] / (2 log10(Ωs/Ωp)), rounded up.
  • Ωc=Ωp/(10^(0.1Ap) - 1)^(1/2N) is exact at the passband edge; the stopband version is exact at the other.
  • Butterworth poles lie on a circle of radius Ωc, evenly spaced, left half plane only: sk = Ωc exp(j pi (2k + N+1)/2N).
  • s = (2/T)(1 - z1)/(1 + z1), and it maps the whole left half plane inside the unit circle, so stability is automatic.
  • W = (2/T) tan(w/2) is the warping; prewarping fixes the band edges exactly and cannot straighten the curve between them.
  • Impulse invariance aliases and suits low pass and band pass only; the bilinear transformation does not alias and suits everything.
  • Ripple to decibels: |H| >= 0.9 is Ap = 0.9151 dB; |H| <= 0.2 is As = 13.98 dB; 0.89125 is 1 dB and 0.17783 is 15 dB.
  • Chebyshev ripples in one band, elliptic in both, Bessel keeps the group delay flat, and the order falls in that order.
Most repeated in this chapter, in order
  1. Design a Butterworth digital filter TOP 18/19, the most set question in the whole subject
  2. By the bilinear transformation TOP 13/19, which is the route in almost every one of them
  3. Bilinear against impulse invariance HOT 5/19
  4. Impulse invariance itself PIN 3/19 and spectral transformation PIN 2/19

Eighteen of nineteen sittings set this design, usually for fifteen marks or close to it. The steps never change, only the numbers, so the whole chapter is one procedure carried out carefully.

Chapter 7 · 7 hours · 15 marks · the last two or three questions, every paper

The discrete Fourier transform

The only Fourier transform a computer can actually compute, the fast algorithm that makes it practical, and the circular convolution that the DFT quietly performs instead of the linear one you wanted. Two or three questions in every paper, worth fifteen marks between them.

What this chapter is about
  • The DFT: what it is, how it relates to the DTFT, and why it has to exist.
  • Circular convolution: what the DFT gives you when you multiply two spectra, how it differs from linear convolution, and how zero padding reconciles them.
  • The FFT: where the saving comes from, and the two ways of splitting the sum.
  • The butterfly diagrams for DIT and DIF, which is what the exam actually wants drawn.
Where it fits
  • Chapter 3's frequency response is continuous in w; the DFT samples it at N points.
  • Chapter 1's convolution reappears here in circular form.
  • Chapter 5's window method is the other side of the same sampling question.
What you will learn
  1. 7.1 The DFT and the IDFT, DFT against DTFT, The properties, Circular convolution, and how it differs from linear, Zero padding
  2. 7.2 Why the FFT is fast, Decimation in time, Decimation in frequency
  3. 7.3 The computational complexity of the FFT
  4. 7.4 Last minute recall, chapter 7
How it is examined
  • An 8 point FFT, DIT or DIF, 6 to 8 marks, with the butterfly diagram drawn.
  • A circular convolution, 5 to 7 marks, sometimes disguised as a product of two DFTs.
  • A short bookwork rider: why we need the DFT, how fast the FFT is, DFT against DTFT, or zero padding.

7.1The DFT, its properties, and circular convolution

The DFT and the IDFT HOT 5/19

79 Ba · 76 Ash · 74 Ch · 73 Shr · 72 Ka3+72+62+8

The N point DFT Takes a finite sequence of N samples and produces N frequency samples. Both the sequence and its transform are treated as one period of a periodic signal, which is where every peculiarity of the DFT comes from.
N-1 -j 2 pi / N X(k) = sum x[n] W[N]^(k n) k = 0..N-1 W[N] = e n=0 1 N-1 x[n] = --- sum X(k) W[N]^(-k n) n = 0..N-1 N k=0 W[N] is the TWIDDLE FACTOR. W[N]^N = 1, and W[N]^(k + N/2) = -W[N]^k, which is the one identity the whole FFT is built on.

Why we need the DFT, which is asked as a two mark rider in eight papers

  • The DTFT is not computable. X(ejω) is a function of a continuous variable, so it has infinitely many values. A computer cannot store or compute it.
  • The DFT is finite in both domains: N samples in, N samples out, all of them numbers a machine can hold.
  • It is the sampled DTFT. X(k) = X(ejω) evaluated at ω=2π k / N, so it is the DTFT read at N equally spaced points around the unit circle.
  • It is invertible, exactly, from those N samples, provided the sequence really has only N non zero samples. No information is lost.
  • It has a fast algorithm. The FFT makes spectrum analysis, fast convolution and filtering practical, and that is the reason the DFT is the transform used in practice.
Computing one by hand For a small N, write the twiddle factors first. For N = 4: W = -j, so W^0 = 1, W^1 = -j, W^2 = -1, W^3 = j. For N = 8, W^0 = 1, W^1 = 0.707 - j0.707, W^2 = -j, W^3 = -0.707 - j0.707, and W^(k+4) = -W^k.
Then X(k) = sum x[n] W^(nk). The whole thing is a matrix multiplication by a symmetric matrix of twiddle factors.

This is the DTFT sampled at N points, which is why the time sequence it implies is periodic, and therefore why its convolution is circular.

DFT against DTFT PIN 1/19

78 Bh2+6

DTFTDFT
InputAn infinite sequenceA finite sequence of N samples
OutputA continuous function of wN discrete samples
FormulaX(ejω) = sum over all n of x[n]ejωnX(k) = sum over n=0..N-1 of x[n] W^(nk)
Periodic in frequencyYes, period 2πYes, period N
ComputableNo, infinitely many valuesYes, and fast with the FFT
Convolution property givesLinear convolutionCircular convolution
RelationX(k) = X(ejω) sampled at ω=2π k / N. The DFT is N samples of one period of the DTFT.

The consequence worth stating: because the DFT is a sampled DTFT, it implicitly assumes the sequence repeats every N samples. Every surprising property of the DFT, circular shifts, circular convolution and spectral leakage, is that assumption showing through.

The one consequence worth carrying: sampling in frequency makes the signal periodic in time, which is the whole reason for zero padding.

The properties PIN 1/19

75 Ash1+5

Propertyx[n]X(k)
Linearitya x1[n] + b x2[n]a X1(k) + b X2(k)
Periodicityx[n+N]=x[n]X(k + N) = X(k)
Circular time shiftx[(n - m) mod N]X(k) W^(km)
Circular frequency shiftx[n] W^(-ln)X[(k - l) mod N]
Circular convolutionx1[n] (N) x2[n]X1(k) X2(k)
Multiplicationx1[n]x2[n]1N X1(k) (N) X2(k)
Time reversalx[(-n) mod N]X[(-k) mod N]
Conjugate symmetry, real xx[n] realX(N-k) = X*(k), so the magnitude is even and the phase is odd
Parsevalsum |x[n]|21N sum |X(k)|^2
The circular convolution property, stated The DFT of the circular convolution of two N point sequences is the product of their DFTs:
DFT{ x1[n] (N) x2[n] } = X1(k) . X2(k)
and therefore x3[n] = IDFT{ X1(k) X2(k) } is the circular convolution, not the linear one. Whenever a question says find x3[n] if X3(k) = X1(k) X2(k), it is asking for a circular convolution and nothing else.

The convolution property here is the convolution sum with the shift taken modulo N, and nothing else.

Circular convolution, and how it differs from linear TOP 14/19

82 Bh · 82 Ba · 81 Bh · 81 Ba · 80 Bh · 80 Ba · 79 Bh · 79 Ba · 76 Ch · 75 Ch · 74 Ash · 73 Shr · 72 Ch · 71 Shr3+72+51+7

Circular convolution For two sequences of the same length N,
y[m] = sum over n=0 to N-1 of x1[n] x2[(m - n) mod N].
The index wraps around instead of running off the end, which is exactly what the DFT's assumption of periodicity implies.
Linear convolutionCircular convolution
Index arithmeticOrdinary; the shifted sequence slides off the end Modulo N; what falls off one end comes back at the other
Length of the resultN1+N21N, the same as the inputs
What implements itThe convolution sum, or the z-transformThe DFT: multiply the spectra and invert
ModelsA real filter processing a real signalA filter acting on a periodic extension of the signal
RelationThey are equal when both sequences are zero padded to at least N1+N21 points.

Three ways to compute it, and when each is quickest

  • The concentric circle method. Write x1 anticlockwise on an outer circle. Write x2 clockwise on an inner circle, starting from the same point. Multiply facing pairs and add: that is y[0]. Rotate the inner circle one step anticlockwise for y[1], and so on. Fast for N = 4 or 5, which is what the exam sets.
  • The matrix method. Build the N by N circulant matrix whose first column is x2 and whose every next column is the previous one rotated down by one. Multiply by the column vector x1. Reliable, and easy to check.
  • The DFT method. Take both DFTs, multiply point by point, take the IDFT. This is what the question means when it says using DFT, and it is the route that matters in practice because the FFT makes it cheap.
If the two sequences have different lengths Circular convolution is only defined for equal lengths, so pad the shorter one with zeros up to the length of the longer. A question giving h = {1, 2, 1, -1, 1} and x = {1, 2, 3, 1} is a 5 point circular convolution with x padded to {1, 2, 3, 1, 0}.
In the exam
  • Say which N you are using before you start, and pad to it.
  • Check with the sum rule: sum of y = (sum of x1)(sum of x2), exactly as for linear convolution.
  • When the question says find x3 given X3(k) = X1(k)X2(k), do not compute any DFTs. Just circularly convolve x1 and x2. It is a quarter of the work and it is the same answer.

It differs from linear convolution only in the wrap, and zero padding removes even that.

Practise thiscircular convolution 11 worked

Zero padding PIN 1/19

74 Ch1+5

Zero padding Appending zeros to a sequence before taking its DFT. It does not add information and does not improve the true resolution; it interpolates the spectrum, giving a finer grid of samples of the same underlying DTFT. Its other and more important use is to make circular convolution produce the linear one.
To get LINEAR convolution from the DFT: x1 has N1 samples, x2 has N2 samples. Linear convolution has N1 + N2 - 1 samples. Pad BOTH to N >= N1 + N2 - 1 (for the FFT, to the next power of 2) y = IDFT{ DFT(x1) . DFT(x2) } is then exactly the linear convolution. If N < N1 + N2 - 1 the tail wraps round and corrupts the first N1 + N2 - 1 - N samples. That corruption is called TIME ALIASING.
Worked, 2074 Chaitra x[n] = {1, 1, 1, 1} with N1 = 4, h[n] = {2, 3} with N2 = 2. Linear convolution has 4 + 2 - 1 = 5 samples, so pad both to N = 5: x = {1,1,1,1,0} and h = {2,3,0,0,0}.
The 5 point circular convolution gives {2, 5, 5, 5, 3}, which is exactly the linear convolution of {1,1,1,1} with {2,3}.
With N = 4 instead, the last sample would have wrapped onto the first, giving {5, 5, 5, 5}: wrong, and wrong in the characteristic way.

Two uses worth naming

  • Fast convolution. Filtering a long signal is done in blocks, using the overlap add or overlap save method, each block zero padded so that the circular convolution of the block equals its linear convolution.
  • A smoother spectrum plot. Padding from 8 to 64 points gives 64 samples of the same DTFT, which looks like more detail but is only interpolation.

Padding to N1+N21 is what makes circular convolution equal the linear convolution a real filter performs.

7.2The FFT: decimation in time and decimation in frequency

Why the FFT is fast HOT 6/19

82 Ba · 81 Bh · 80 Ba · 79 Bh · 75 Ch · 75 Ash1+2+63+72+8

DIRECT DFT each X(k) needs N complex multiplications and N-1 additions and there are N of them: N^2 complex multiplications N (N - 1) complex additions RADIX 2 FFT log2(N) stages, each of N/2 butterflies: (N/2) log2(N) complex multiplications N log2(N) complex additions SPEED UP roughly N^2 / ( (N/2) log2 N ) = 2N / log2 N
NDFT multiplicationsFFT multiplicationsSpeed up
86412about 5 times
644,096192about 21 times
1,0241,048,5765,120about 200 times

Where the saving comes from

  • Divide and conquer. An N point DFT is split into two N/2 point DFTs, then each of those into two more, and so on for log2(N) stages. Two half length transforms cost 2(N/2)^2 = N^2/2, which is half of N^2, and recursing keeps halving it.
  • The twiddle factor identities make the recombination almost free: W[N]^(k + N/2) = -W[N]^k means the two outputs of a butterfly differ only in a sign, and W[N]^2 = W[N/2] means the sub transforms really are ordinary DFTs of half the length.
  • Symmetry and periodicity of W remove the repeated work that the direct sum does over and over.
  • It needs N to be a power of 2 for radix 2. Sequences of other lengths are zero padded to the next power of two.

The counts, the in place computation and the bit reversal are the last section of this chapter.

Decimation in time HOT 5/19

81 Ba · 78 Bh · 72 Ch · 72 Ka · 71 Shr2+66+28

The split Divide the input sequence into its even indexed and odd indexed samples. Each half is an N/2 point DFT, and the two are recombined with one twiddle factor per output.
N-1 X(k) = sum x[n] W[N]^(nk) n=0 Split n = 2r (even) and n = 2r+1 (odd): N/2-1 N/2-1 X(k) = sum x[2r] W[N]^(2rk) + sum x[2r+1] W[N]^((2r+1)k) r=0 r=0 Use W[N]^2 = W[N/2] and factor W[N]^k out of the second sum: N/2-1 N/2-1 X(k) = sum x[2r] W[N/2]^(rk) + W[N]^k . sum x[2r+1] W[N/2]^(rk) r=0 r=0 = G(k) + W[N]^k H(k) k = 0 .. N/2 - 1 Now use W[N]^(k + N/2) = -W[N]^k, and the periodicity of G and H: X(k) = G(k) + W[N]^k H(k) X(k + N/2) = G(k) - W[N]^k H(k) THE DIT BUTTERFLY: multiply by the twiddle FIRST, then add and subtract. a ----------o--------- a + W b \ / \ / / \ / \ b ---[ W ]---o------ --- a - W b

The procedure for an 8 point DIT FFT

  • Bit reverse the input order. For N = 8 the order is x[0], x[4], x[2], x[6], x[1], x[5], x[3], x[7], which is the indices 0 to 7 with their three bits reversed. The output comes out in natural order.
  • Stage 1: four butterflies on adjacent pairs, twiddle W^0 = 1 only.
  • Stage 2: four butterflies spanning two, with twiddles W^0 and W^2.
  • Stage 3: four butterflies spanning four, with twiddles W^0, W^1, W^2, W^3.
  • Write the numbers on the diagram as you go, and read X(0) to X(7) off the right hand edge in order.
The twiddle factors for N = 8, worth writing out first W^0 = 1
W^1 = 0.7071 - j0.7071
W^2 = -j
W^3 = -0.7071 - j0.7071
and W^(k+4) = -W^k for the rest.

Reverse every arrow of this flow graph and the decimation in frequency algorithm appears: the two are transposes, and cost exactly the same.

Practise thisthe fft, decimation in time 4 worked

Decimation in frequency HOT 4/19

82 Bh · 80 Bh · 76 Ch · 74 Ash87

The split Divide the output, that is the frequency index k, into even and odd. The input is split into its first half and its second half instead, and the twiddle factor is applied after the subtraction.
Split the input sum at n = N/2: N/2-1 N-1 X(k) = sum x[n] W^(nk) + sum x[n] W^(nk) n=0 n=N/2 In the second sum put n = m + N/2, and use W^(N k/2) = (-1)^k : N/2-1 X(k) = sum [ x[n] + (-1)^k x[n + N/2] ] W[N]^(nk) n=0 For EVEN k = 2r, (-1)^k = +1 : N/2-1 X(2r) = sum [ x[n] + x[n+N/2] ] W[N/2]^(nr) an N/2 point DFT For ODD k = 2r+1, (-1)^k = -1 : N/2-1 X(2r+1)= sum { [ x[n] - x[n+N/2] ] W[N]^n } W[N/2]^(nr) THE DIF BUTTERFLY: add and subtract FIRST, then multiply the difference by the twiddle. a ----------o--------- a + b \ / \ / / \ / \ b ----------o-----[ W ]--- (a - b) W

The procedure for an 8 point DIF FFT

  • Input in natural order, x[0] to x[7].
  • Stage 1: butterflies between x[n] and x[n+4], twiddles W^0 to W^3 on the differences.
  • Stage 2: butterflies spanning two, twiddles W^0 and W^2.
  • Stage 3: butterflies on adjacent pairs, twiddle W^0.
  • The output comes out bit reversed: X(0), X(4), X(2), X(6), X(1), X(5), X(3), X(7). Re order it before writing the answer.
DITDIF
SplitsThe input sequence, into even and odd nThe output, into even and odd k
Input orderBit reversedNatural
Output orderNaturalBit reversed
ButterflyTwiddle before the add and subtractTwiddle after the subtraction
Operation countIdentical: (N/2)log2(N) multiplications, N log2(N) additions
In placeBoth: each butterfly overwrites its own two values
In the exam
  • Read which algorithm is asked for and get the ordering right. Handing in a DIT diagram for a DIF question loses most of the marks even if the numbers are correct.
  • Pad to 8 points. A sequence of 5 or 6 samples in an 8 point question is padded with zeros; say so.
  • Draw the diagram. The numbers alone are worth little; the butterfly structure with its twiddles is the answer.
  • Check X(0). It is always the sum of all the samples, and it costs nothing to verify.
  • Check Parseval if there is time: sum |x[n]|2 = 1N sum |X(k)|^2.

It is the decimation in time algorithm with the twiddle moved to the other side of the subtraction and the bit reversal at the other end.

Practise thisthe fft, decimation in frequency 4 worked

7.3Computational complexity of the FFT

The computational complexity of the FFT

COMPLEX MULTIPLIES COMPLEX ADDITIONS DIRECT DFT N^2 N ( N - 1 ) RADIX-2 FFT (N/2) log2 N N log2 N SPEED-UP = N^2 / [ (N/2) log2 N ] = 2 N / log2 N
NStages, log2 NButterflies, (N/2)log2 NDFT multipliesSpeed up
8312645.3
164322568
6461924,09621.3
25681,02465,53664
1,024105,1201,048,576204.8
4,0961224,57616,777,216682.7
  • Where the count comes from. Each stage has N/2 butterflies, each butterfly costs one complex multiplication and two complex additions, and there are log2 N stages because the sequence can be halved that many times.
  • In place computation. A butterfly reads two values and writes two values to the same two locations, so the whole transform runs in one array of N complex numbers. No extra memory is needed, which mattered enormously when the algorithm was published and still matters on a small processor.
  • Bit reversal is the price of being in place. One end of the transform must be in bit reversed order: the input for DIT, the output for DIF. Reversing the index bits is a cheap shuffle, and it is not counted in the arithmetic above.
  • Real arithmetic, if the question asks. One complex multiplication is 4 real multiplications and 2 real additions, so an N point radix 2 FFT costs about 2N log2 N real multiplications.
  • The count can be reduced further. The twiddle factors 1, -1, j and -j need no multiplication at all, which removes a good fraction of the count in practice; radix 4 and split radix algorithms cut it further; and a real input halves the work by transforming two real sequences at once.
  • Fast convolution. Convolving two N point sequences directly costs N^2 multiplications; through the FFT it costs three transforms and N multiplications, that is about 3(N/2)log2 N + N, which is cheaper for N above roughly 64. This is the reason long filters are run in the frequency domain.

The saving is what makes fast convolution worth doing, and therefore what makes a long FIR filter practical at all.

7.4Last minute recall

Last minute recall, chapter 7

Must memorise
  • X[k] = sum of x[n]WN^(kn), with WN = ej2pi/N, and the DFT is the sampled DTFT at N points round the unit circle.
  • WN^(k + N/2) = -WNk is the symmetry that makes the butterfly work, and WN^2 = W(N/2) is the halving that makes the recursion work.
  • A product of DFTs is a CIRCULAR convolution, never a linear one. "Find x3 if X3 = X1 X2" is a circular convolution question.
  • Zero pad both sequences to N >= N1+N21 and circular becomes linear exactly.
  • Zero padding adds points, not resolution. Resolution comes only from more data.
  • N^2 against (N/2) log2 N, a speed up of 2N/log2 N. For N = 1024 that is about 205 times.
  • DIT: input bit reversed, twiddle before the add. DIF: output bit reversed, twiddle after the subtraction.
  • For N = 8 the bit reversed order is 0, 4, 2, 6, 1, 5, 3, 7.
  • X[0] is the sum of the samples, and for a real input X[N-k] = X*[k].
Most repeated in this chapter, in order
  1. Circular convolution TOP 17/19, often disguised as a product of DFTs
  2. The DIT FFT TOP 11/19 and the DIF FFT TOP 8/19
  3. Why the FFT is fast HOT 6/19 and why we need the DFT HOT 5/19
  4. Zero padding PIN 2/19, DFT against DTFT PIN 1/19, the properties PIN 1/19

This chapter carries fifteen marks and its two questions are both mechanical: a circular convolution and an eight point butterfly. Both have a free check, so there is no reason to lose a mark on either.

49 questions · answered here, in full · most asked first

Every theory question, with its answer

Every theory question this paper has set, asked once however many sittings set it, with the answer and the derivation written out underneath it. Nothing here points anywhere else: this page is meant to be read on its own. The most asked question is at the top, and the bar below filters the page to one chapter. The arithmetic of a numerical question is not here; the method that solves it is.

How to use this page

  • Read from the top. The order is how many of the nineteen sittings asked it. The first fifteen entries carry most of the theory marks on any paper you are likely to sit.
  • One question, one answer. A question set in fourteen sittings appears once, with every sitting listed under it, so nothing is read twice.
  • Answer first, then the working. Every entry opens with the direct answer in a line or two, which is how the first line of an exam answer should read, and then gives the derivation, the procedure or the table that carries the marks.
  • The derivation is the answer wherever the examiner asks for one. A formula you cannot derive is a formula you will misremember under pressure, and several of these questions award the derivation alone.
  • Filter by chapter when you are revising one chapter, and use the search box in the rail for a word.

Design a digital low pass IIR filter using a Butterworth approximation to meet a given specification. TOP 18/19

Ch 6 · IIR design3+12 marks11 of these also set a numerical2082 Bhadra Q9 · 2082 Baishakh Q8 · 2081 Bhadra Q8 · 2081 Baishakh Q8 · 2080 Bhadra Q8 · 2080 Baishakh Q9 · 2079 Bhadra Q9 · 2079 Baishakh Q9 · 2078 Bhadra Q9 · 2076 Chaitra Q10 · 2076 Ashwin Q7 · 2075 Chaitra Q7 · 2075 Ashwin Q6 · 2074 Chaitra Q7 · 2074 Ashwin Q8 · 2073 Shrawan Q8 · 2072 Kartik Q9 · 2071 Shrawan Q8

The most set design question on the paper, in eighteen sittings. The route is always the same: specification in the digital domain, prewarp to analog, find the order and the cutoff, write the analog prototype, then transform back. Marks come from carrying out the steps in order and saying which formula you are using.

THE BUTTERWORTH MAGNITUDE 1 |Ha(jW)|^2 = ------------------ N = order, Wc = 3 dB cutoff 1 + (W / Wc)^(2N) Maximally FLAT in the passband: the first 2N-1 derivatives of |Ha|^2 vanish at W = 0. Monotonic everywhere, no ripple in either band. Attenuation falls at 20N dB per decade.
THE DESIGN, STEP BY STEP 1 Digital edges. wp = 2 pi fp / fs, ws = 2 pi fs_stop / fs (skip if the paper already gives them in radians) 2 PREWARP, bilinear. Wp = (2/T) tan(wp/2), Ws = (2/T) tan(ws/2) (impulse invariance instead: W = w / T, a straight scaling) 3 ORDER. From |Ha|^2 at Wp = 1/(1 + eps^2) and at Ws = 1/A^2 : log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) ROUND UP to the next integer. Never round down. 4 CUTOFF. Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) exact at the passband Wc = Ws / (10^(0.1 As) - 1)^(1/2N) exact at the stopband 5 PROTOTYPE. Poles evenly spaced on a circle of radius Wc, in the LEFT half plane only: sk = Wc exp( j pi (2k + N + 1) / (2N) ), k = 0 .. N-1 N = 1 Ha(s) = Wc / (s + Wc) N = 2 Ha(s) = Wc^2 / (s^2 + 1.4142 Wc s + Wc^2) N = 3 Ha(s) = Wc^3 / ((s + Wc)(s^2 + Wc s + Wc^2)) 6 TRANSFORM. H(z) = Ha(s) with s = (2/T) (1 - z^-1)/(1 + z^-1) 7 Simplify to a ratio of polynomials in z^-1 and, if asked, draw the realization and check H(e^j0) = 1.

Reading the specification, which is where the marks are lost. Ap is the passband attenuation in dB and As the stopband attenuation in dB, both positive. When the question gives ripple instead, convert:

|H| >= 0.9 in the passband => Ap = -20 log10(0.9) = 0.915 dB |H| <= 0.2 in the stopband => As = -20 log10(0.2) = 13.98 dB |H| >= 0.8 => Ap = 1.94 dB "maximum deviation of 1 dB below 0 dB gain" => Ap = 1 dB

Why the order formula looks like that. Put the two specification points into the magnitude squared expression: at W = Wp it must be at least 10^(-Ap/10), and at W = Ws at most 10^(-As/10). Rearranging each gives (Wp/Wc)^2N <= 10^(0.1Ap) - 1 and (Ws/Wc)^2N >= 10^(0.1As) - 1. Divide one by the other, so Wc cancels, and take logs. That is the derivation, and it is three lines.

Sanity checks worth writing. N comes out between 2 and 6 in almost every paper; if you get 15, recheck the prewarping. Wc must lie between Wp and Ws. The final H(z) must have |H(e^j0)| = 1 for a low pass filter, which is a single substitution of z = 1.

Butterworth against the alternatives, when the question asks why:

PassbandStopbandOrder for the same specPhase
ButterworthMaximally flatMonotonicHighestBest of the three
Chebyshev IEquirippleMonotonicLowerWorse
EllipticEquirippleEquirippleLowestWorst

Plot the poles and zeros in the z-plane and draw the magnitude response, not to scale, of the system described by a given difference equation or by given pole and zero locations. TOP 17/19

Ch 3 · Frequency domain2+8 marks16 of these also set a numerical2082 Bhadra Q4 · 2082 Baishakh Q4 · 2081 Bhadra Q4 · 2081 Baishakh Q4 · 2080 Bhadra Q4 · 2080 Baishakh Q4 · 2079 Bhadra Q4 · 2079 Baishakh Q4 · 2078 Bhadra Q5 · 2076 Chaitra Q5 · 2076 Ashwin Q6 · 2075 Chaitra Q3 · 2075 Ashwin Q4 · 2074 Chaitra Q4 · 2074 Ashwin Q4 · 2072 Chaitra Q5 · 2072 Kartik Q5

This is the single most set question on the paper, in seventeen of the nineteen sittings. It is a sketch, not a computation: the examiner wants the pole zero map, and a magnitude curve whose shape is justified by the distance from each pole and zero to the unit circle. The words not to scale are permission to sketch, not permission to guess.

STEP 1 Difference equation -> H(z). Take the z-transform of both sides, using x[n-k] -> z^-k X(z), then form H(z) = Y(z)/X(z). STEP 2 Multiply numerator and denominator by z^N so both are POSITIVE powers of z. Zeros at z = 0 and poles at z = 0 appear here, and forgetting them is the usual lost mark. STEP 3 Factor. Roots of the numerator = ZEROS, drawn as o. Roots of the denominator = POLES, drawn as x. STEP 4 Draw the unit circle, mark Re and Im axes, plot every pole and zero, and give the ROC (|z| > largest pole magnitude, for a causal system). STEP 5 The GEOMETRIC rule for the magnitude: product of distances from z = e^jw to each ZERO |H(e^jw)| = ----------------------------------------------- x |gain| product of distances from z = e^jw to each POLE STEP 6 Walk w from 0 (the point z = 1) to pi (the point z = -1), reading those distances off the sketch, and draw the curve.

How to read the sketch, which is what earns the marks

  • Near a pole, the response PEAKS. The closer the pole is to the unit circle, the taller and sharper the peak, and the peak sits at w equal to the angle of the pole.
  • Near a zero, the response DIPS. A zero exactly on the unit circle forces the magnitude to zero at that frequency.
  • A pole or zero far outside the circle barely changes the shape: its distance to every point of the circle is nearly the same, so it only scales the curve. This is why the paper's favourite pair, poles at 0.45 +/- j1.6 and zeros at 0.58 +/- j2.06, gives a gently varying response and not a sharp resonance.
  • Anything at the origin affects only the phase, never the magnitude, because its distance to every point on the unit circle is exactly 1.
  • Real coefficients force poles and zeros into conjugate pairs, so the magnitude is even in w and sketching 0 to pi is enough.
  • Check the two endpoints numerically, because they are cheap and they anchor the curve: |H(e^j0)| = |H(z)| at z = 1, and |H(e^jpi)| = |H(z)| at z = -1. Put both numbers on the axis.

Worked, on the wording set most often. y[n] - 0.4y[n-1] + 0.25y[n-2] = x[n] - 0.4x[n-1].

  • Transform: Y(z)(1 - 0.4z^-1 + 0.25z^-2) = X(z)(1 - 0.4z^-1), so H(z) = (1 - 0.4z^-1)/(1 - 0.4z^-1 + 0.25z^-2).
  • Multiply above and below by z^2: H(z) = z(z - 0.4)/(z^2 - 0.4z + 0.25).
  • Zeros at z = 0 and z = 0.4. Poles at z = 0.2 +/- j0.458, from the quadratic formula, with magnitude sqrt(0.25) = 0.5 and angle +/- 66.4 degrees, that is w = +/- 1.16 rad.
  • Both poles are inside the unit circle, so the system is stable, with ROC |z| > 0.5.
  • Shape: a broad rise in the middle of the band and a dip towards w = 0, where the zero at 0.4 is closest. The poles sit at 1.16 rad, so sketch the peak near there; computed exactly, the maximum is 1.34 at w = 1.29 rad, pulled up a little by the zero.
  • Endpoints: H(1) = (1 - 0.4)/(1 - 0.4 + 0.25) = 0.6/0.85 = 0.706; H(-1) = (1 + 0.4)/(1 + 0.4 + 0.25) = 1.4/1.65 = 0.848.

The phase, when it is asked. Phase = sum of the angles from each zero to the point e^jw, minus the sum of the angles from each pole. It runs from 0 at w = 0, falls fastest near a pole angle, and a zero on the circle causes a jump of pi.

Compute the circular convolution of two given sequences, or find x3[n] when X3[k] = X1[k] X2[k]. Differentiate between linear and circular convolution. TOP 17/19

Ch 7 · DFT and FFT7 marks11 of these also set a numerical2082 Bhadra Q10 · 2082 Baishakh Q10 · 2081 Bhadra Q10 · 2081 Baishakh Q10 · 2080 Bhadra Q10 · 2080 Baishakh Q12 · 2079 Bhadra Q11 · 2079 Baishakh Q11 · 2078 Bhadra Q10 · 2076 Chaitra Q12 · 2075 Chaitra Q9 · 2075 Ashwin Q9 · 2074 Ashwin Q10 · 2073 Shrawan Q11 · 2072 Chaitra Q12 · 2072 Kartik Q11 · 2071 Shrawan Q9

Seventeen sittings ask this, often disguised as "find x3[n] if X3[k] = X1[k]X2[k]". That wording is circular convolution, by the convolution property, so there is no need to compute a single DFT.

N-1 x3[n] = x1[n] (N) x2[n] = SUM x1[m] x2[ (n - m) mod N ] m=0 N = the DFT length. If the question gives sequences of UNEQUAL length, N is the LARGER one, and the shorter sequence is ZERO PADDED to it. The answer has length N.

The concentric circle method, which is the fastest by hand

  • Draw an inner and an outer circle, each with N equally spaced positions.
  • Place x1 on the inner circle anticlockwise, starting at the top.
  • Place x2 on the outer circle clockwise, starting at the same point.
  • Multiply the aligned pairs and add them: that is x3[0].
  • Rotate the outer circle one position anticlockwise, multiply and add again: that is x3[1]. Repeat N times.

The matrix method, which is easier to check

[ x3[0] ] [ x2[0] x2[N-1] x2[N-2] ... x2[1] ] [ x1[0] ] [ x3[1] ] [ x2[1] x2[0] x2[N-1] ... x2[2] ] [ x1[1] ] [ x3[2] ] = [ x2[2] x2[1] x2[0] ... x2[3] ] [ x1[2] ] [ ... ] [ ... ... ] [ ... ] [x3[N-1]] [x2[N-1] x2[N-2] x2[N-3] ... x2[0] ] [x1[N-1]] Each column is the previous one rotated DOWN by one: a circulant matrix.

The free check, and use it every time. The sum of x3 equals the sum of x1 times the sum of x2. It costs one line and catches almost every slip.

Worked, on x1 = {2, 1, 2, 1} and x2 = {1, 2, 3, 4}, N = 4.

  • x3[0] = 2(1) + 1(4) + 2(3) + 1(2) = 2 + 4 + 6 + 2 = 14
  • x3[1] = 2(2) + 1(1) + 2(4) + 1(3) = 4 + 1 + 8 + 3 = 16
  • x3[2] = 2(3) + 1(2) + 2(1) + 1(4) = 6 + 2 + 2 + 4 = 14
  • x3[3] = 2(4) + 1(3) + 2(2) + 1(1) = 8 + 3 + 4 + 1 = 16
  • x3 = {14, 16, 14, 16}, and the check holds: 6 x 10 = 60 = 14 + 16 + 14 + 16.
Linear convolutionCircular convolution
ShiftRuns off the end, zeros come inWraps around, modulo N
Output lengthN1 + N2 - 1N, the DFT length
TransformProduct of the DTFTs or z-transformsProduct of the DFTs
What it modelsA real LTI system's outputThe DFT's own arithmetic
They agree whenBoth sequences are zero padded to N >= N1 + N2 - 1

When they do not agree, the error has a name: the tail of the linear convolution, the part beyond N, folds back and adds to the front. That is time domain aliasing, and zero padding to N1 + N2 - 1 leaves it nowhere to fold into.

Find the output of an LTI system given its impulse response and input. State the properties of an LTI system. TOP 16/19

Ch 1 · Signals and systems5 marks15 of these also set a numerical2082 Bhadra Q2 · 2081 Bhadra Q2 · 2081 Baishakh Q2 · 2079 Bhadra Q2 · 2079 Baishakh Q2 · 2078 Bhadra Q2 · 2076 Chaitra Q3 · 2076 Ashwin Q2 · 2075 Chaitra Q2 · 2075 Ashwin Q2 · 2074 Chaitra Q1 · 2074 Ashwin Q2 · 2073 Shrawan Q2 · 2072 Chaitra Q2 · 2072 Kartik Q2 · 2071 Shrawan Q1

For an LTI system the output is the convolution sum of the input with the impulse response. The impulse response alone describes the system completely.

inf y[n] = sum x[k] h[n - k] = x[n] * h[n] = sum h[k] x[n-k] k = -inf

The derivation, which is the two line proof worth writing

  • Write the input as a sum of shifted impulses: x[n] = sum over k of x[k] delta[n-k]. This is the sifting property.
  • Apply linearity: the response is sum over k of x[k] T{delta[n-k]}.
  • Apply time invariance: T{delta[n-k]} = h[n-k].
  • So y[n] = sum over k of x[k] h[n-k]. That is why h[n] is enough.

The four ways to carry it out

  • Tabular. x along the top, h down the side, fill the grid with products and add along the anti diagonals. Fastest for two short finite sequences.
  • Graphical. Fold h[k] to h[-k], slide by n, multiply the overlap, add. This is what the question means by using graphical method.
  • Analytical. For sequences containing u[n], write the sum, fix the limits from where both are non zero, and sum the geometric series.
  • By transform. Y(z) = X(z) H(z), then invert.
LENGTH AND POSITION x runs from n1 to n2, h runs from m1 to m2 y runs from n1 + m1 to n2 + m2, and has length Nx + Nh - 1 CHECK: sum of y = (sum of x) . (sum of h)

Properties of convolution, and therefore of LTI systems

PropertyStatementMeaning for systems
Commutativex * h = h * xWhich is called the input does not matter
Associative(x*h1)*h2 = x*(h1*h2)Cascade: h = h1 * h2
Distributivex*(h1+h2) = x*h1 + x*h2Parallel: h = h1 + h2
Identityx * delta[n] = x[n]The impulse does nothing
Shiftx[n] * delta[n-k] = x[n-k]Convolving with a shifted impulse is a delay
Causalityh[n] = 0 for n < 0The system is causal
Stabilitysum |h[n]| finiteThe system is BIBO stable

When the input is a complex exponential, do not convolve. Use the eigenfunction result: y[n] = H(e^jw0) x[n]. Several papers set that case as a convolution question.

Find the inverse z-transform of a given X(z) using the partial fraction method, for a stated ROC. TOP 15/19

Ch 2 · The z-transform1+5 marks2 of these also set a numerical2082 Bhadra Q3 · 2082 Baishakh Q3 · 2081 Bhadra Q3 · 2081 Baishakh Q3 · 2080 Bhadra Q3 · 2080 Baishakh Q3 · 2079 Bhadra Q3 · 2079 Baishakh Q3 · 2078 Bhadra Q3 · 2076 Chaitra Q4 · 2076 Ashwin Q3 · 2074 Chaitra Q3 · 2074 Ashwin Q3 · 2073 Shrawan Q3 · 2071 Shrawan Q2

Expand X(z)/z into partial fractions, multiply back by z so every term is of the standard form z/(z - p), then invert each term using the ROC to decide whether that pole is right sided or left sided. The ROC, not the algebra, is what the question is testing.

STEP 1 If deg(numerator) >= deg(denominator), LONG DIVIDE first. The quotient inverts to impulses; the remainder continues. STEP 2 Form X(z)/z, not X(z). STEP 3 Factor the denominator and expand: X(z) A1 A2 ---- = ------- + ------- + ... z z - p1 z - p2 Ak = [ (z - pk) X(z)/z ] at z = pk STEP 4 Multiply back by z: X(z) = A1 z/(z-p1) + A2 z/(z-p2) + ... STEP 5 Invert TERM BY TERM against the ROC: ROC OUTSIDE this pole -> Ak (pk)^n u[n] right sided ROC INSIDE this pole -> -Ak (pk)^n u[-n-1] left sided

How to read the ROC pole by pole. Put the pole magnitudes on a line and mark the given ROC. For each pole ask whether the ROC lies outside it, giving a causal term with u[n], or inside it, giving an anticausal term with -u[-n-1]. A two sided ROC gives one term of each kind.

Worked, the question set in 2082 Bhadra and 2079 Baishakh. H(z) = z/(3z^2 - 4z + 1) for 1/3 < |z| < 1.

  • Factor: 3z^2 - 4z + 1 = 3(z - 1)(z - 1/3), so H(z) = z/[3(z-1)(z-1/3)].
  • H(z)/z = 1/[3(z-1)(z-1/3)] = A/(z-1) + B/(z-1/3), with A = 1/[3(1 - 1/3)] = 1/2 and B = 1/[3(1/3 - 1)] = -1/2.
  • H(z) = (1/2) z/(z-1) - (1/2) z/(z-1/3).
  • The ROC 1/3 < |z| < 1 lies outside the pole at 1/3 and inside the pole at 1.
  • h[n] = -(1/2) u[-n-1] - (1/2)(1/3)^n u[n].

Repeated poles. A pole of order m at p needs terms A1/(z-p) + ... + Am/(z-p)^m, with the constants obtained by differentiating (z-p)^m X(z)/z, and the inverse of z/(z-p)^2 is n p^(n-1) u[n].

The other two methods. Long division, or the power series method, gives the first few samples directly: divide in ascending powers of z^-1 for a causal answer and in ascending powers of z for an anticausal one. The residue method, x[n] = sum of residues of X(z) z^(n-1), is correct and slower.

What is an optimum filter? Describe the Remez exchange algorithm for FIR filter design, with its mathematical expression and flowchart. TOP 15/19

Ch 5 · FIR design1+4 marks2082 Bhadra Q8 · 2082 Baishakh Q7 · 2081 Bhadra Q7 · 2079 Bhadra Q8 · 2079 Baishakh Q8 · 2078 Bhadra Q8 · 2076 Chaitra Q9 · 2076 Ashwin Q9 · 2075 Chaitra Q5 · 2075 Ashwin Q7 · 2074 Ashwin Q7 · 2073 Shrawan Q7 · 2072 Chaitra Q9 · 2072 Kartik Q8 · 2071 Shrawan Q7

An optimum, or equiripple, filter is one that minimizes the maximum error between the designed and the desired response. A window design wastes order because its error is largest at the band edge and tiny elsewhere; spreading the error evenly across each band gives the lowest possible order for the specification. That criterion is called minimax, or Chebyshev approximation.

THE ERROR FUNCTION E(w) = W(w) [ Hd(w) - Hr(w) ] Hd(w) the desired response Hr(w) the real amplitude of the designed linear phase filter W(w) a weighting function, chosen as delta_s/delta_p in the passband and 1 in the stopband, so the two ripples end up in the ratio the specification asks for THE PROBLEM minimize over the filter coefficients of max |E(w)| with w taken over the passband and stopband only, NEVER the transition band, which is left free

The alternation theorem, which is the mathematical statement the question asks for. Hr(w) is the best Chebyshev approximation to Hd(w) if and only if E(w) has at least L + 2 extremal frequencies w1 < w2 < ... < w(L+2) in the bands, at which the error attains its maximum size with alternating sign:

E(wi) = - E(w(i+1)) and |E(wi)| = delta, for i = 1 .. L+1 where L = (N-1)/2 for a Type I filter, so there are (N-1)/2 + 2 alternations.

The theorem is what makes the design finite: it turns "minimize the worst error" into "find the L + 2 points where the error alternates", which is a set of equations.

THE SYSTEM SOLVED AT EACH ITERATION, from the alternation condition Hr(wi) + (-1)^i delta / W(wi) = Hd(wi) i = 1 .. L+2 L + 2 equations in the L + 1 unknown coefficients plus delta. Solved for delta in closed form by sum of gamma_i Hd(wi) delta = ---------------------------- sum of gamma_i (-1)^i / W(wi) with gamma_i the Lagrange interpolation weights on the extremal set, after which Hr(w) is recovered on a dense grid by the barycentric Lagrange formula.

The algorithm, which is the flowchart

  • Read the specification: band edges, ripples delta_p and delta_s, and estimate the order from Kaiser's formula N = [-20 log10(sqrt(delta_p delta_s)) - 13] / (14.6 dw / 2pi) + 1.
  • Guess an initial set of L + 2 extremal frequencies, usually spaced evenly across the bands.
  • Compute delta from the closed form above, on that set.
  • Interpolate Hr(w) onto a dense frequency grid using the Lagrange formula.
  • Compute E(w) over the whole grid and find the new local extrema.
  • Exchange: replace the old extremal set with the new one, which is where the name comes from.
  • Test for convergence: if the new extrema are the same as the old within a tolerance, or if max|E| has stopped changing, stop; otherwise return to the delta step.
  • On convergence, compute h[n] from Hr(w) by an inverse DFT and impose the symmetry h[n] = h[N-1-n].

Why it converges: delta increases at every exchange and is bounded above by the true minimax error, so the sequence converges, and the limit satisfies the alternation theorem. In practice it takes a handful of iterations.

What it buys. For the same specification a Remez design needs roughly half to two thirds the taps of a window design, and the error is equiripple by construction rather than by luck. The costs are that the response is not available in closed form, the design needs a computer, and the ripple is uniform rather than decaying, which some applications dislike. The implementation everybody uses is the Parks McClellan program, which is the Remez exchange algorithm applied to filter design.

Explain the bilinear transformation method of IIR filter design, and explain the frequency warping effect in detail. TOP 13/19

Ch 6 · IIR design3+12 marks10 of these also set a numerical2082 Bhadra Q9 · 2080 Bhadra Q8 · 2080 Baishakh Q9 · 2079 Bhadra Q9 · 2078 Bhadra Q9 · 2076 Chaitra Q10 · 2076 Ashwin Q7 · 2075 Chaitra Q7 · 2075 Ashwin Q6 · 2074 Ashwin Q8 · 2073 Shrawan Q8 · 2073 Shrawan Q9 · 2072 Kartik Q9 · 2071 Shrawan Q8

The bilinear transformation maps the analog s-plane onto the z-plane with the substitution s = (2/T)(1 - z^-1)/(1 + z^-1). It maps the whole jW axis onto the unit circle exactly once, so no aliasing is possible, and it does so by compressing the infinite frequency axis into the finite range 0 to pi. That compression is the warping.

2 1 - z^-1 2 z - 1 1 + s T/2 s = --- --------- = --- ------- z = ----------- T 1 + z^-1 T z + 1 1 - s T/2 THE THREE MAPPING PROPERTIES s in the LEFT half plane -> z INSIDE the unit circle s on the jW axis -> z ON the unit circle s in the RIGHT half plane -> z OUTSIDE the unit circle so a stable analog filter ALWAYS gives a stable digital filter.

The warping relation, derived. Put z = e^jw and s = jW:

2 e^(jw) - 1 2 e^(jw/2)( e^(jw/2) - e^(-jw/2) ) jW = --- ---------- = --- -------------------------------- T e^(jw) + 1 T e^(jw/2)( e^(jw/2) + e^(-jw/2) ) 2 2j sin(w/2) 2 = --- -------------- = --- j tan( w / 2 ) T 2 cos(w/2) T 2 W T SO W = --- tan( w / 2 ) and w = 2 arctan( --- ) T 2

What the relation says. The map is one to one and monotonic, so no two analog frequencies land on the same digital frequency: no aliasing, which is the whole advantage over impulse invariance. But it is non linear. For small w, tan(w/2) is about w/2 and W is about w/T, nearly linear. As w rises towards pi, tan(w/2) runs to infinity, so the higher frequencies are squeezed harder and harder. W = infinity maps to w = pi.

The consequence, and the cure. A band edge placed at W in the analog design comes out at a lower relative position in the digital filter. The magnitude specification survives, since the same values of |H| are simply relabelled, but the shape is distorted and any linear phase in the analog prototype is destroyed. The cure is prewarping: before designing, push every critical frequency out along the tan curve,

W_prewarped = ( 2 / T ) tan( w_desired / 2 )

design the analog filter at those prewarped frequencies, and the transformation then pulls them back to exactly the digital edges that were asked for. Prewarping fixes the band edges exactly; it cannot straighten the curve in between, so the response between the edges is still warped.

T often cancels. If every critical frequency is prewarped with the same T, the factor appears in both the prewarping and the substitution and divides out, which is why many solutions set T = 1 or T = 2 at the start. Say so rather than letting it disappear silently.

Why is the Kaiser window better than other fixed windows in FIR filter design? Design a linear phase FIR filter using a Kaiser window to meet a given specification. TOP 11/19

Ch 5 · FIR design3+3 marks3 of these also set a numerical2081 Baishakh Q7 · 2080 Bhadra Q7 · 2080 Baishakh Q7 · 2079 Bhadra Q7 · 2078 Bhadra Q7 · 2076 Ashwin Q9 · 2075 Ashwin Q7 · 2074 Chaitra Q8 · 2074 Ashwin Q6 · 2072 Chaitra Q8 · 2072 Kartik Q8

Every fixed window offers one attenuation: Hamming gives 53 dB whether you want 45 or 70. The Kaiser window carries a shape parameter beta that tunes the attenuation continuously, so it always meets the specification and never exceeds it, which means the lowest order of any window design.

I0( beta sqrt( 1 - [ (2n - (N-1)) / (N-1) ]^2 ) ) w[n] = ---------------------------------------------------- I0( beta ) I0(x) = 1 + sum from k=1 of [ (x/2)^k / k! ]^2 modified Bessel, order 0
THE DESIGN EQUATIONS, and these are what the paper wants delta = min( delta_p, delta_s ) take the SMALLER ripple A = -20 log10( delta ) the attenuation in dB dw = ws - wp the transition width in rad beta: A > 50 beta = 0.1102 (A - 8.7) 21 <= A <= 50 beta = 0.5842 (A - 21)^0.4 + 0.07886 (A - 21) A < 21 beta = 0 ORDER: N >= ( A - 8 ) / ( 2.285 dw ) + 1 Round N UP, then take the next ODD value. wc = ( wp + ws ) / 2 tau = ( N - 1 ) / 2 h[n] = hd[n] . w[n], hd[n] = sin( wc (n - tau) ) / ( pi (n - tau) )

Why it is better, the four reasons to write out

  • Adjustable. Beta sets the attenuation to whatever the specification asks, instead of the fixed value a named window happens to give.
  • Lowest order. Because it does not overshoot the requirement, N comes out smaller than for any fixed window meeting the same specification, so the filter costs less to run.
  • Near optimal. The Kaiser window is a close approximation to the prolate spheroidal sequence, the function with the greatest possible main lobe energy for a given side lobe level, so it is very nearly the best trade between transition width and ripple that a window can make.
  • Design by formula. Beta and N come from closed form empirical equations, so the design is a calculation rather than a trial and error search. The fixed windows need a guess and a check.

Worked as far as the theory goes, on the specification set most often. 0.99 <= |H| <= 1.01 for w <= 0.19 pi, and |H| <= 0.01 for w >= 0.21 pi.

  • delta_p = 0.01 and delta_s = 0.01, so delta = 0.01.
  • A = -20 log10(0.01) = 40 dB.
  • 40 lies between 21 and 50, so beta = 0.5842 (19)^0.4 + 0.07886 (19) = 0.5842 (3.256) + 1.498 = 3.40.
  • dw = 0.21 pi - 0.19 pi = 0.02 pi = 0.0628 rad, a very narrow transition, which is what makes this filter long.
  • N >= (40 - 8)/(2.285 x 0.0628) + 1 = 32/0.1435 + 1 = 223 + 1 = 224, so take N = 225, the next odd value, and tau = 112.
  • wc = (0.19 + 0.21) pi / 2 = 0.2 pi.
  • h[n] = [sin(0.2 pi (n - 112))/(pi (n - 112))] w[n] for n = 0 to 224, with h[112] = 0.2.

Note what the narrow transition cost: 225 taps for a 40 dB filter. Widening the transition band to 0.1 pi would drop N to about 46. When a paper gives a transition band that narrow it is testing whether you notice, so state the order and move on.

Describe how a digital FIR filter can be designed by the window method, and design a linear phase FIR filter using a suitable window to meet a given specification. TOP 11/19

Ch 5 · FIR design10 marks6 of these also set a numerical2082 Bhadra Q7 · 2082 Baishakh Q6 · 2081 Bhadra Q6 · 2081 Baishakh Q6 · 2080 Bhadra Q6 · 2079 Baishakh Q7 · 2076 Chaitra Q8 · 2074 Ashwin Q6 · 2073 Shrawan Q6 · 2072 Chaitra Q8 · 2071 Shrawan Q6

The ideal filter has an impulse response that is infinitely long and non causal, so it cannot be built. The window method truncates it to N samples with a window w[n] and shifts it right by (N-1)/2 to make it causal. The shift is what gives linear phase, and the shape of the window is what controls the ripple.

STEP 1 Write the IDEAL response hd[n], from the inverse DTFT of Hd(e^jw). LOW PASS hd[n] = sin( wc (n - tau) ) / ( pi (n - tau) ) hd[tau] = wc / pi at n = tau HIGH PASS hd[n] = [ sin(pi(n-tau)) - sin(wc(n-tau)) ] / (pi(n-tau)) BAND PASS the difference of two low pass responses with tau = (N - 1)/2 STEP 2 Read the specification: transition width dw = ws - wp stopband attenuation As, in dB STEP 3 CHOOSE THE WINDOW from the attenuation, never from the width. STEP 4 FIND N from that window's transition width rule, then round UP, and take the next ODD N for a Type I linear phase filter. STEP 5 wc = (wp + ws)/2, the middle of the transition band. STEP 6 h[n] = hd[n] . w[n] for n = 0 .. N-1, and zero elsewhere. STEP 7 H(z) = sum of h[n] z^-n, and state the delay tau samples.
Windoww[n], n = 0 to N-1Peak side lobeStopband attenuationTransition width
Rectangular1-13 dB21 dB1.8 pi / N
Bartlett, triangular1 - |2n - (N-1)|/(N-1)-25 dB25 dB 6.1 pi / N
Hanning0.5 - 0.5 cos(2 pi n/(N-1))-31 dB44 dB 6.2 pi / N
Hamming0.54 - 0.46 cos(2 pi n/(N-1))-41 dB53 dB 6.6 pi / N
Blackman0.42 - 0.5 cos(2 pi n/(N-1)) + 0.08 cos(4 pi n/(N-1)) -57 dB74 dB11 pi / N

Choosing the window: the rule that decides the whole answer. Take the smallest window whose attenuation meets the specification. A 42 dB stopband needs Hanning at 44 dB, not Hamming; a 51 dB stopband needs Hamming at 53 dB; anything past 53 dB needs Blackman. Reading this off the table and saying why is worth a mark on its own.

Converting a ripple specification into decibels, which is how several sittings word it. If the stopband allows |H| <= delta_s, then As = -20 log10(delta_s). So delta_s = 0.01 gives 40 dB and the passband ripple 0.99 to 1.01 gives delta_p = 0.01 as well. With 40 dB required, Hanning is enough.

Converting a frequency specification into radians. w = 2 pi f / fs. A passband edge of 2 kHz with fs = 20 kHz is wp = 0.2 pi, and a stopband edge of 5 kHz is ws = 0.5 pi.

The derivation behind the method, which is the theory half of the question. Multiplying in time is convolving in frequency, so

H(e^jw) = (1/2pi) INT from -pi to pi of Hd(e^j theta) W(e^j(w - theta)) d theta

The ideal brick wall is smeared by the window's own spectrum. The main lobe width becomes the transition band, which is why a longer window gives a sharper filter; the side lobes become the passband and stopband ripple, which is why the window's shape, not its length, sets the attenuation. That single sentence explains every row of the table: the rectangular window has the narrowest main lobe and therefore the sharpest transition, and the worst side lobes and therefore the worst stopband.

Linear phase, and why the shift matters. If h[n] = h[N-1-n], then

H(e^jw) = e^(-j w (N-1)/2) Hr(w) with Hr(w) REAL phase = -w (N-1)/2 LINEAR, slope fixed group delay = (N-1)/2 samples, the SAME at every frequency

Every frequency is delayed by the same time, so the shape of the signal survives the filter. That is the property an IIR filter cannot have, and it is the reason FIR filters exist.

Find the N point DFT of a given sequence using the decimation in time FFT algorithm, and draw the butterfly diagram. TOP 11/19

Ch 7 · DFT and FFT2+7 marks4 of these also set a numerical2081 Bhadra Q9 · 2081 Baishakh Q9 · 2080 Baishakh Q11 · 2079 Bhadra Q10 · 2078 Bhadra Q11 · 2075 Chaitra Q8 · 2075 Ashwin Q8 · 2073 Shrawan Q10 · 2072 Chaitra Q11 · 2072 Kartik Q10 · 2071 Shrawan Q10

DIT splits the input into its even indexed and odd indexed samples, transforms each half, and recombines with a twiddle factor. The input therefore ends up in bit reversed order and the output in natural order.

THE SPLIT, which is the derivation N-1 X[k] = SUM x[n] WN^(kn) split n into 2r and 2r+1 n=0 N/2-1 N/2-1 = SUM x[2r] WN^(2rk) + SUM x[2r+1] WN^((2r+1)k) r=0 r=0 Use WN^2 = W(N/2) : = G[k] + WN^k H[k] where G[k] is the N/2 point DFT of the EVEN samples H[k] is the N/2 point DFT of the ODD samples And by the symmetry WN^(k + N/2) = -WN^k : X[k] = G[k] + WN^k H[k] k = 0 .. N/2 - 1 X[k + N/2] = G[k] - WN^k H[k] TWO outputs from ONE multiplication: the BUTTERFLY.
THE DIT BUTTERFLY a ------------o------------> a + WN^r b \ / \ / \/ ONE multiply, one add, /\ one subtract / \ b ---[ WN^r ]---o----\------> a - WN^r b The twiddle multiplies the SECOND input, BEFORE the add and subtract.

The procedure

  • Pad to a power of two. Six or seven given samples means an 8 point transform with zeros appended. Do this first and say so.
  • Bit reverse the input order. For N = 8 the order is x[0], x[4], x[2], x[6], x[1], x[5], x[3], x[7], obtained by writing each index in 3 bits and reading the bits backwards.
  • Stage 1: four butterflies on adjacent pairs, all with twiddle W8^0 = 1, so this stage is pure addition and subtraction.
  • Stage 2: two groups of two butterflies, with twiddles W8^0 = 1 and W8^2 = -j.
  • Stage 3: one group of four butterflies, with twiddles W8^0 = 1, W8^1 = 0.707 - j0.707, W8^2 = -j, W8^3 = -0.707 - j0.707.
  • Read the output X[0] to X[7] in natural order down the right hand side.

The checks that cost nothing. X[0] must equal the sum of all the samples, and for a real input X[N-k] must be the conjugate of X[k], so X[5] = X*[3] and X[6] = X*[2]. Both catch an error in the middle of a butterfly diagram where nothing else would.

When only one output is asked for, as in "find X(3) and X(5)", the butterfly diagram is still the fastest route: draw it, carry the numbers through, and use the conjugate symmetry to get the second value free once the first is known.

Compute the lattice and ladder coefficients and draw the lattice ladder structure for a given IIR system. TOP 10/19

Ch 4 · Filter structures6 marks10 of these also set a numerical2082 Bhadra Q6 · 2082 Baishakh Q5 · 2081 Bhadra Q5 · 2080 Bhadra Q5 · 2080 Baishakh Q5 · 2079 Baishakh Q5 · 2076 Chaitra Q6 · 2076 Ashwin Q5 · 2075 Chaitra Q4 · 2075 Ashwin Q5

A pole zero IIR filter H(z) = B(z)/A(z) becomes a lattice ladder: the lattice section realizes the poles from A(z), using the same reflection coefficients as the FIR case, and a set of ladder taps C0 ... CM weights the backward signals g[n] to realize the zeros from B(z).

STEP 1 From the DENOMINATOR A(z), run the step-down recursion exactly as for the FIR lattice, to get KN ... K1. Keep every intermediate polynomial A(m)(z): the ladder needs them. STEP 2 The ladder taps come from the NUMERATOR, top down: CM = bM M Cm = bm - sum Ci alpha_i(i - m) m = M-1 ... 0 i=m+1 STEP 3 Draw the all-pole lattice, then take a tap from EVERY backward node gm[n], multiply by Cm, and sum them all into y[n]. y[n] = sum from m = 0 to M of Cm gm[n]

The all pole lattice, which is the half that carries the poles

fN[n] = x[n] fm-1[n] = fm[n] - Km gm-1[n-1] NOTE THE MINUS SIGN gm[n] = Km fm-1[n] + gm-1[n-1] y[n] = f0[n] = g0[n]

Read the minus sign. In the all zero lattice the forward recursion adds and runs up in order; in the all pole lattice it subtracts and runs down in order. Getting this backwards is the standard lost mark, and the reason is simple: the all pole structure is the inverse system of the all zero one, so its signal flow graph is the same graph with the forward path solved backwards.

Stability, and it is free. The IIR lattice is stable if and only if |Km| < 1 for every m. There is no need to find the poles: the reflection coefficients test the pole positions for you. Say this whenever the question asks about stability of a lattice.

The procedure on a worked shape. For H(z) = (2 - 0.7z^-1 + 0.5z^-2)/(1 - 0.3z^-1 + 0.25z^-2):

  • A(z) = 1 - 0.3z^-1 + 0.25z^-2, so K2 = alpha2(2) = 0.25.
  • alpha1(1) = [alpha2(1) - K2 alpha2(1)]/(1 - K2^2) = (-0.3)(1 - 0.25)/(1 - 0.0625) = -0.225/0.9375 = -0.24, so K1 = -0.24.
  • Both |K| < 1, so the filter is stable.
  • Ladder, with b0 = 2, b1 = -0.7, b2 = 0.5: C2 = b2 = 0.5; C1 = b1 - C2 alpha2(1) = -0.7 - (0.5)(-0.3) = -0.55; C0 = b0 - C1 alpha1(1) - C2 alpha2(2) = 2 - (-0.55)(-0.24) - (0.5)(0.25) = 2 - 0.132 - 0.125 = 1.743.
  • Draw two lattice stages for K1 and K2, and three ladder taps C0, C1, C2 from g0, g1, g2 summing into y[n].

An all pole filter needs no ladder: for H(z) = 1/A(z) the only tap is C0 = 1, so the answer is the bare lattice. That is the case in the questions that give H(z) = 1/(1 - 0.2z^-1 + 0.4z^-2 + 0.6z^-3).

Obtain the direct form I and direct form II realization of a given system. TOP 9/19

Ch 4 · Filter structures2+2 marks9 of these also set a numerical2082 Bhadra Q5 · 2079 Bhadra Q5 · 2079 Baishakh Q6 · 2078 Bhadra Q6 · 2074 Chaitra Q5 · 2074 Ashwin Q5 · 2073 Shrawan Q5 · 2072 Chaitra Q6 · 2072 Kartik Q6

A realization is a signal flow graph built from three elements: unit delays z^-1, multipliers, and adders. Direct form I implements the difference equation exactly as written; direct form II reorders the two halves and shares the delays, which halves the memory.

Given y[n] = sum b[k] x[n-k] - sum a[k] y[n-k] DIRECT FORM I the all-zero section FIRST, then the all-pole section x[n] --o-- b0 -->(+)------------o-- y[n] | ^ | [z^-1] | [z^-1] | | | o-- b1 --->|<--- -a1 ----o | | | [z^-1] | [z^-1] | | | o-- b2 --->|<--- -a2 ----o delays used: M + N DIRECT FORM II the all-pole section FIRST, then the all-zero section, sharing ONE delay line through the node w[n] w[n] = x[n] - a1 w[n-1] - a2 w[n-2] ... y[n] = b0 w[n] + b1 w[n-1] + b2 w[n-2] ... delays used: max(M, N) CANONIC: the fewest possible

Why direct form II is allowed. H(z) = B(z) . 1/A(z), and an LTI cascade is commutative, so 1/A(z) may be placed first. Both sections then see the same internal signal w[n], so the two delay chains hold identical values and one chain serves both. That sentence is the derivation the examiner wants beside the drawing.

The procedure

  • Write the difference equation with y[n] alone on the left and read off b0, b1, ... and a1, a2, ... The feedback coefficients change sign when they cross the equals sign; this is where most marks are lost.
  • Form I: draw the input delay chain with the b multipliers into a summing node, then from that node an output delay chain with the -a multipliers back into the same node.
  • Form II: draw one delay chain. Feed it from the node w[n], which sums the input and the -a taps; take the b taps from the same chain into the output adder.
  • Label every multiplier with its value and every delay with z^-1.

Worked, the wording set most often. y[n] - 0.75y[n-1] - 0.25y[n-2] = x[n] + 0.5x[n-1].

  • Rearranged: y[n] = x[n] + 0.5x[n-1] + 0.75y[n-1] + 0.25y[n-2].
  • b0 = 1, b1 = 0.5; a1 = -0.75, a2 = -0.25, so the feedback multipliers are +0.75 and +0.25.
  • H(z) = (1 + 0.5z^-1)/(1 - 0.75z^-1 - 0.25z^-2).
  • Form I uses 3 delays, 1 for x and 2 for y. Form II uses 2, with w[n] = x[n] + 0.75w[n-1] + 0.25w[n-2] and y[n] = w[n] + 0.5w[n-1].

Transposed direct form II, if the paper asks for it: reverse every arrow, swap adders for branch nodes and the input for the output. It has the same H(z) and often better numerical behaviour.

Define the region of convergence (ROC) of a z-transform. TOP 8/19

Ch 2 · The z-transform1+5 marks2082 Baishakh Q3 · 2081 Bhadra Q3 · 2080 Bhadra Q3 · 2080 Baishakh Q3 · 2078 Bhadra Q3 · 2076 Chaitra Q4 · 2074 Chaitra Q3 · 2073 Shrawan Q3

The region of convergence is the set of values of z for which the z-transform sum converges to a finite value. Because convergence depends only on |z|, it is always an annulus centred on the origin, r1 < |z| < r2, possibly with r1 = 0 or r2 = infinity.

  • It contains no poles, since X(z) is infinite there, so the ROC is always bounded by poles.
  • It is connected: it can never be two separate rings.
  • It decides the signal. The same algebraic X(z) with two different ROCs inverts to two different sequences, one right sided and one left sided.
  • It carries the system properties. An LTI system is stable exactly when the ROC contains the unit circle, and causal exactly when the ROC is the outside of the outermost pole.
SequenceROC
Finite lengthThe whole plane, except possibly z = 0 or z = infinity
Right sided, causal|z| > rmax, outside the outermost pole
Left sided, anticausal|z| < rmin, inside the innermost pole
Two sidedA ring r1 < |z| < r2, and it may be empty

Find the N point DFT of a given sequence using the decimation in frequency FFT algorithm, and draw the butterfly structure. TOP 8/19

Ch 7 · DFT and FFT8 marks4 of these also set a numerical2082 Bhadra Q11 · 2082 Baishakh Q9 · 2080 Bhadra Q9 · 2079 Baishakh Q10 · 2076 Chaitra Q11 · 2076 Ashwin Q8 · 2074 Chaitra Q9 · 2074 Ashwin Q9

DIF splits the output: the even numbered X[k] and the odd numbered X[k] are each computed from an N/2 point transform of a combination of the first and second halves of the input. The input stays in natural order and the output comes out bit reversed, which is the mirror image of DIT.

THE SPLIT, which is the derivation N/2-1 N-1 X[k] = SUM x[n] WN^(kn) + SUM x[n] WN^(kn) n=0 n=N/2 In the second sum put n = m + N/2, and use WN^(kN/2) = (-1)^k : N/2-1 X[k] = SUM [ x[n] + (-1)^k x[n + N/2] ] WN^(kn) n=0 EVEN k = 2r : the sign is + N/2-1 X[2r] = SUM [ x[n] + x[n + N/2] ] W(N/2)^(rn) n=0 ODD k = 2r+1 : the sign is - N/2-1 X[2r+1] = SUM { [ x[n] - x[n + N/2] ] WN^n } W(N/2)^(rn) n=0 So form a[n] = x[n] + x[n + N/2] -> feeds the EVEN outputs b[n] = ( x[n] - x[n + N/2] ) WN^n -> feeds the ODD outputs and transform each half, recursively.
THE DIF BUTTERFLY a ------------o------------> a + b \ / \ / \/ /\ / \ b -------------o----\--[ WN^r ]--> ( a - b ) WN^r The twiddle multiplies the DIFFERENCE, AFTER the add and subtract. That single difference is all that separates DIF from DIT.

The procedure

  • Pad to a power of two, as always.
  • Input in natural order, x[0] through x[7] down the left.
  • Stage 1: butterflies pair x[n] with x[n+4], with twiddles W8^0, W8^1, W8^2, W8^3 applied to the differences.
  • Stage 2: two groups of four, with twiddles W8^0 and W8^2 = -j.
  • Stage 3: four butterflies on adjacent pairs, all with twiddle W8^0 = 1, so this stage is pure addition and subtraction.
  • Read the output in bit reversed order: X[0], X[4], X[2], X[6], X[1], X[5], X[3], X[7] down the right hand side. Label them properly, because writing the outputs in natural order here is the classic lost mark.
DITDIF
SplitsThe input, in timeThe output, in frequency
Input orderBit reversedNatural
Output orderNaturalBit reversed
TwiddleBefore the add and subtractAfter the add and subtract
Trivial stageThe first, all twiddles 1The last, all twiddles 1
OperationsIdentical: (N/2) log2 N multiplications, N log2 N additions

The two are transposes of one another: reverse every arrow in a DIT flow graph and a DIF flow graph appears. Either may be used unless the question names one, and the papers do name one, so read it.

List and explain the properties of the region of convergence, and locate the ROC of a given signal. HOT 7/19

Ch 2 · The z-transform2+2+3 marks2081 Baishakh Q3 · 2075 Chaitra Q6 · 2075 Ashwin Q3 · 2074 Chaitra Q3 · 2074 Ashwin Q3 · 2072 Chaitra Q3 · 2072 Kartik Q3

The properties, which is the list the question asks for:

  • The ROC is a ring or a disc centred at the origin, because convergence depends only on |z|.
  • The ROC contains no poles. It is bounded by them.
  • A finite length sequence converges everywhere, except z = 0 if it has positive n terms and z = infinity if it has negative n terms.
  • A right sided sequence has the ROC outside the outermost pole; if it is also causal the ROC includes z = infinity.
  • A left sided sequence has the ROC inside the innermost pole.
  • A two sided sequence has a ring for an ROC, which may be empty.
  • The ROC is a connected region.
  • The DTFT exists if and only if the ROC contains the unit circle, which is the same as saying the sequence is absolutely summable.
  • Linearity: the ROC of a sum is at least the intersection of the two ROCs, and can be larger if a pole cancels.
  • Time shifting changes the ROC only at z = 0 or z = infinity; scaling by a^n scales the ROC by |a|; time reversal inverts it.

Locating the ROC: the procedure. Split the signal into its right sided and left sided parts. Each right sided term a^n u[n] demands |z| > |a|; each left sided term b^n u[-n-1] demands |z| < |b|. The ROC is the intersection, and it is empty if the left sided pole is smaller than the right sided one.

Worked

  • x[n] = (0.1)^n u[n] + (0.3)^n u[-n-1]. The first needs |z| > 0.1, the second |z| < 0.3. ROC = 0.1 < |z| < 0.3, a ring, so the transform exists.
  • x[n] = (0.6)^n u[n] + (0.25)^n u[n]. Both right sided, poles at 0.6 and 0.25, so the ROC is |z| > 0.6. It contains the unit circle, so the signal is absolutely summable.

Compute the lattice coefficients and draw the lattice structure for a given FIR filter, and check whether the system is stable. HOT 7/19

Ch 4 · Filter structures5 marks7 of these also set a numerical2081 Baishakh Q5b · 2078 Bhadra Q6 · 2074 Chaitra Q6 · 2074 Ashwin Q5 · 2073 Shrawan Q5 · 2072 Chaitra Q7 · 2072 Kartik Q7

The lattice is an all zero structure built from reflection coefficients K1 ... Km instead of the direct coefficients. It is found by running the Levinson Durbin recursion backwards, stepping the order down one at a time.

Write H(z) = Am(z) = 1 + alpha_m(1) z^-1 + ... + alpha_m(m) z^-m STEP 1 Km = alpha_m(m) the LAST coefficient, always STEP 2 Step down with alpha_m(k) - Km alpha_m(m-k) alpha_(m-1)(k) = ------------------------ k = 1 .. m-1 1 - Km^2 STEP 3 Repeat on the shorter polynomial until K1 is reached. THE ORDER-UP RECURSION, which is the same relation read forwards: Am(z) = A(m-1)(z) + Km z^-m A(m-1)(z^-1) THE STRUCTURE, one stage per K: f0 = g0 = x[n] fm[n] = f(m-1)[n] + Km g(m-1)[n-1] gm[n] = Km f(m-1)[n] + g(m-1)[n-1] y[n] = fM[n] the forward path out of the last stage

The stability check the question asks for. An FIR filter is always stable, because its impulse response is finite, so say that first. The useful statement about the K values is this: the filter is minimum phase, meaning every zero is inside the unit circle, if and only if |Km| < 1 for every m. If any |Km| >= 1, the filter is still stable but not minimum phase, and the recursion divides by 1 - Km^2, which is zero at |Km| = 1.

Worked, the wording set three times. H(z) = 1 + (13/24)z^-1 + (5/8)z^-2 + (1/3)z^-3.

  • m = 3: K3 = alpha3(3) = 1/3, and 1 - K3^2 = 1 - 1/9 = 8/9.
  • alpha2(1) = [alpha3(1) - K3 alpha3(2)]/(8/9) = [13/24 - (1/3)(5/8)](9/8) = [13/24 - 5/24](9/8) = (8/24)(9/8) = 3/8.
  • alpha2(2) = [alpha3(2) - K3 alpha3(1)]/(8/9) = [5/8 - (1/3)(13/24)](9/8) = [5/8 - 13/72](9/8) = (32/72)(9/8) = 1/2.
  • m = 2: K2 = alpha2(2) = 1/2, and 1 - K2^2 = 3/4.
  • alpha1(1) = [alpha2(1) - K2 alpha2(1)]/(3/4) = alpha2(1)(1 - K2)/(3/4) = (3/8)(1/2)(4/3) = 1/4.
  • m = 1: K1 = 1/4.
  • K1 = 1/4, K2 = 1/2, K3 = 1/3, all with magnitude below 1, so the filter is minimum phase as well as stable. Draw three stages, each a cross of one multiplier pair and one delay.

A gain in front does not change the K values. For H(z) = 2 + 1.8z^-1 - 1.6z^-2 + z^-3, divide through by 2 first so the leading coefficient is 1, work out the K values from 1 + 0.9z^-1 - 0.8z^-2 + 0.5z^-3, and put the gain 2 at the output.

Why anyone uses it: the lattice is modular, so increasing the order adds a stage without recomputing anything; it is far less sensitive to coefficient quantization than a direct form; and the |Km| < 1 test makes stability visible by inspection. It is the standard structure in speech coding for exactly these reasons.

What is the FFT? How does it reduce the computational complexity compared to the direct computation of the DFT? Write the complexity of the DFT and the FFT. HOT 6/19

Ch 7 · DFT and FFT1+2+6 marks2082 Baishakh Q9 · 2081 Bhadra Q9 · 2080 Baishakh Q11 · 2080 Baishakh Q12 · 2079 Bhadra Q10 · 2075 Chaitra Q8 · 2075 Ashwin Q8

The FFT is not a different transform: it is a family of algorithms that compute the same DFT by exploiting the symmetry and periodicity of the twiddle factor WN, so that work is shared instead of repeated.

DIRECT DFT N^2 complex multiplications N(N - 1) complex additions RADIX-2 FFT (N/2) log2 N complex multiplications N log2 N complex additions SPEED-UP = N^2 / ( (N/2) log2 N ) = 2N / log2 N
NDFT multiplicationsFFT multiplicationsFaster by
86412about 5 times
644,096192about 21 times
1,0241,048,5765,120about 205 times

How the saving arises, which is the part worth the marks

  • The two properties. Symmetry: WN^(k + N/2) = -WN^k, so two outputs share one product with opposite signs. Periodicity: WN^(k + N) = WN^k, and WN^2 = W(N/2), so a twiddle factor of a long transform is one of a shorter transform.
  • Divide. Split the N point DFT into two N/2 point DFTs. Each costs (N/2)^2, so the pair costs N^2/2, which is already half the original N^2, plus N/2 twiddle multiplications to combine them.
  • Recurse. Split each half again, and again, until the transforms are of length 1, which need no arithmetic at all. That takes log2 N stages, each of N/2 butterflies, and each butterfly costs one complex multiplication and two additions.
  • The butterfly is the unit of work: one multiply by a twiddle factor, one add and one subtract, producing two outputs from two inputs. N/2 of them per stage, log2 N stages, which is the count above.

Why N must be a power of two for radix 2: the halving has to be exact at every stage. A sequence of another length is zero padded up to the next power of two, which is what the paper's six sample and seven sample questions require before anything else is done.

The two forms. DIT splits the input sequence in time, even indexed against odd indexed; DIF splits the output sequence in frequency, even k against odd k. They cost exactly the same and differ only in where the twiddle factors sit and which end is in bit reversed order.

Define, or compare, energy signal and power signal. Determine whether a given signal is an energy signal or a power signal. HOT 6/19

Ch 1 · Signals and systems2+2 marks2082 Bhadra Q1 · 2079 Bhadra Q1 · 2079 Baishakh Q1 · 2075 Chaitra Q1 · 2074 Ashwin Q1 · 2072 Kartik Q1

The energy of a discrete time signal is E = sum over all n of |x[n]|^2. The average power is P = limit as N goes to infinity of 1/(2N+1) times the sum of |x[n]|^2 from -N to N. A signal is an energy signal if E is finite and non zero, and then P is necessarily zero; it is a power signal if P is finite and non zero, and then E is infinite.

E = sum from n = -inf to +inf of |x[n]|^2 1 N P = lim ------ sum |x[n]|^2 N->inf 2N + 1 n=-N
Energy signalPower signal
EnergyFinite and non zeroInfinite
PowerZeroFinite and non zero
ShapeDecays, or lasts a finite timeGoes on for ever without decaying
Periodic signalsNeverAlways, with P = the average over one period
Examplesdelta[n]; a^n u[n] with |a| < 1; any finite sequence u[n] with P = 1/2; A cos(w0 n) with P = A^2/2; e^(jw0 n) with P = 1

A signal cannot be both, and it can be neither: n u[n] has infinite energy and infinite power.

The method. Form the energy sum first. If it converges, the signal is an energy signal and P = 0. If it diverges, form the power; for a periodic signal the limit collapses to the average over one period, P = (1/N) sum over one period of |x[n]|^2.

The case the paper sets, x[n] = e^(j(pi n/2 + 4 pi/7)): the magnitude of a complex exponential is 1 at every n, so E = sum of 1 = infinity, and P = lim (2N+1)/(2N+1) = 1. Finite non zero power, so it is a power signal. The same argument settles u[n], where P = lim (N+1)/(2N+1) = 1/2, a power signal, and delta[n], where E = 1, an energy signal.

Determine whether a given discrete time signal is periodic or not. If it is periodic, find its fundamental period. HOT 6/19

Ch 1 · Signals and systems4 marks4 of these also set a numerical2081 Bhadra Q1 · 2080 Bhadra Q2 · 2080 Baishakh Q1 · 2079 Bhadra Q1 · 2078 Bhadra Q1 · 2074 Ashwin Q1

x[n] is periodic if x[n + N] = x[n] for some positive integer N, and the smallest such N is the fundamental period. The integer requirement is what separates discrete time from continuous time, where any period is allowed.

For x[n] = cos(w0 n + phi), sin(w0 n + phi) or e^(j w0 n): periodic <=> w0 / (2 pi) is RATIONAL write w0/(2 pi) = k/N in LOWEST TERMS => fundamental period = N For a sum or product of periodic components: N = LCM(N1, N2, ...) If any component is aperiodic, the whole signal is aperiodic.

The procedure. Read off w0, the coefficient of n. Form w0/(2 pi) and reduce it. If it is not a ratio of integers the signal is aperiodic and you stop. Otherwise the denominator is N. For several components, take the LCM.

The phase never matters: only the coefficient of n decides periodicity.

Worked, the ones actually set

  • cos(2 pi n/5) + sin(pi n/3): (2pi/5)/(2pi) = 1/5 so N1 = 5; (pi/3)/(2pi) = 1/6 so N2 = 6. N = LCM(5, 6) = 30.
  • e^(j pi n/16) cos(n pi/17): N1 = 32, N2 = 34, N = LCM(32, 34) = 544.
  • cos(pi n/2) cos(pi n/4): N1 = 4, N2 = 8, N = 8.
  • e^(j(pi n/3 + pi/4)): (pi/3)/(2pi) = 1/6, N = 6.
  • sin(n pi) + cos(n pi): w0 = pi, so w0/(2pi) = 1/2 and N = 2.

What is Gibbs phenomenon, how does it arise when a rectangular window is used in FIR filter design, and how can it be minimized? HOT 6/19

Ch 5 · FIR design2+5 marks2082 Baishakh Q7 · 2081 Baishakh Q7 · 2080 Baishakh Q8 · 2079 Bhadra Q7 · 2073 Shrawan Q6 · 2071 Shrawan Q6

Gibbs phenomenon is the overshoot and ringing that appear at a discontinuity when a Fourier series is truncated. In FIR design it is the overshoot at the band edge of the designed filter, and its size is about 9 percent of the jump, whatever the filter length.

How it arises, step by step

  • The ideal low pass response is a discontinuity in frequency: 1 in the passband, 0 in the stopband.
  • Its inverse transform, the sinc sequence hd[n], is infinitely long and decays only as 1/n.
  • Truncating it to N terms is multiplying by a rectangular window.
  • In frequency, that convolves the brick wall with the window's spectrum W(e^jw) = sin(wN/2)/sin(w/2), the Dirichlet kernel, whose first side lobe is only 13 dB below the main lobe.
  • As the convolution sweeps past the discontinuity, the side lobes ride over the edge and produce an overshoot on both sides.

The result that surprises people. Increasing N makes the ripples narrower and more numerous, and it makes the transition sharper, but the peak overshoot stays at about 8.9 percent. The convergence is not uniform. So you cannot design away Gibbs by lengthening a rectangular window, and this is the point the question is testing.

How it is minimized

  • Use a tapered window instead of a rectangular one. Hanning, Hamming or Blackman fall smoothly to zero at both ends, so the truncation is gradual rather than abrupt, the side lobes drop from -13 dB to -31, -41 or -57 dB, and the stopband ripple drops with them. This is the answer.
  • Accept the cost: a tapered window has a wider main lobe, so the transition band widens, and N must rise to get it back. Ripple is traded against sharpness, always.
  • Use the Kaiser window, which makes that trade adjustable through one parameter beta, rather than fixed.
  • Use an optimum design, the Remez exchange algorithm, which distributes the error evenly rather than letting it pile up at the edge, and gives the lowest order for a given specification.

The same phenomenon in its original setting: the Fourier series of a square wave overshoots each edge by 9 percent however many harmonics are summed, and converges at the jump to the midpoint of the two levels. Dirichlet's conditions guarantee convergence, not the absence of overshoot.

Determine whether a given system is linear, time invariant, causal, stable or memoryless. State the test you use. HOT 5/19

Ch 1 · Signals and systems2+2 marks2082 Baishakh Q1 · 2080 Bhadra Q1 · 2076 Chaitra Q2 · 2075 Ashwin Q1 · 2074 Chaitra Q2

Five properties, each with a test that takes three lines. Carry them out in this order and lay them out the same way every time.

PropertyDefinitionTest
Static, memorylessy[n] depends only on x[n] at the same n Any x[n-k], x[n+k] or a sum over past values makes it dynamic
LinearT{a1 x1 + a2 x2} = a1 T{x1} + a2 T{x2}Compute both sides and compare
Time invariantA shift of the input shifts the output by the sameCompute y[n,k] = T{x[n-k]} and y[n-k]; they must be identical
Causaly[n] uses only present and past inputsLook for x[n+k] with k positive
Stable, BIBOEvery bounded input gives a bounded outputBound |y[n]| given |x[n]| <= Mx; for an LTI system, sum |h[n]| < infinity

The relations the paper keeps using

  • y[n] = x^2[n]: non linear, since (a1x1 + a2x2)^2 is not a1x1^2 + a2x2^2. Time invariant, static, causal, stable.
  • y[n] = x[-n]: linear, not time invariant, not causal. y[n,k] = x[-n-k] while y[n-k] = x[-(n-k)] = x[k-n], and these differ.
  • y[n] = x[n] + x[-n]: linear, not time invariant, not causal, and stable.
  • y[n] = x[n^2]: linear, because it only re-indexes; not time invariant.
  • y[n] = y[n-4] + x[n-4]: linear and time invariant, causal, with memory.
  • y[n] = sum from k = 0 to n of x[k]: the accumulator. Linear, causal, has memory, time variant because the lower limit is fixed at 0 rather than moving with n, and unstable, since the bounded input u[n] gives y[n] = n + 1.
  • y[n] = cos(5 pi n/8 + pi/4): there is no x[n] in it, so a zero input gives a non zero output and superposition fails. Non linear.

Marks come from showing both sides. Write T{a1x1 + a2x2} on one line, a1y1 + a2y2 on the next, and then the verdict; the same for y[n,k] against y[n-k].

Find the output of an LTI system with impulse response h[n] when the input is a complex exponential or a sinusoid. HOT 5/19

Ch 3 · Frequency domain5 marks3 of these also set a numerical2082 Baishakh Q2 · 2080 Baishakh Q2 · 2073 Shrawan Q4 · 2072 Kartik Q4 · 2071 Shrawan Q3

Do not convolve. A complex exponential is an eigenfunction of every LTI system: it comes out as the same exponential, multiplied by the frequency response evaluated at that frequency.

If x[n] = A e^(j w0 n) then y[n] = A H(e^j w0) e^(j w0 n) inf H(e^jw) = sum h[n] e^(-jwn) the frequency response n=-inf PROOF: y[n] = sum over k of h[k] x[n-k] = sum over k of h[k] A e^(j w0 (n-k)) = A e^(j w0 n) sum over k of h[k] e^(-j w0 k) = A e^(j w0 n) H(e^j w0) QED

For a real sinusoid, x[n] = A cos(w0 n + phi), linearity and conjugate symmetry give

y[n] = A |H(e^j w0)| cos( w0 n + phi + angle H(e^j w0) )

so the system does exactly two things to a sinusoid: it scales the amplitude by |H(e^jw0)| and shifts the phase by the angle of H(e^jw0). The frequency never changes. That fact is the whole justification for filtering.

The standard h[n] on this paper. For h[n] = a^n u[n] with |a| < 1,

H(e^jw) = sum from n=0 of a^n e^(-jwn) = 1 / (1 - a e^(-jw))

a geometric series that converges because |a e^(-jw)| = |a| < 1.

Worked, the wording set four times. h[n] = (1/2)^n u[n], x[n] = 5 e^(j pi n/3).

  • H(e^jw) = 1/(1 - 0.5 e^(-jw)). At w = pi/3, e^(-j pi/3) = 0.5 - j0.866, so 0.5 e^(-j pi/3) = 0.25 - j0.433.
  • 1 - that = 0.75 + j0.433, whose magnitude is 0.866 and angle 30 degrees.
  • H(e^j pi/3) = 1/(0.866 angle 30 deg) = 1.1547 angle -30 deg.
  • y[n] = 5 (1.1547) e^(j(pi n/3 - pi/6)) = 5.77 e^(j(pi n/3 - pi/6)).

A constant is the w = 0 case. An input of 10 gives 10 H(e^j0) = 10 times the DC gain, which for this h[n] is 1/(1 - 0.5) = 2, so the constant comes out as 20. Mixed inputs such as 10 - 5 sin(pi n/2) are handled term by term and added.

Differentiate between bilinear transformation and impulse invariance, and explain the advantages of choosing the bilinear transformation. HOT 5/19

Ch 6 · IIR design12+3 marks2082 Baishakh Q8 · 2081 Bhadra Q8 · 2081 Baishakh Q8 · 2079 Baishakh Q9 · 2072 Chaitra Q10

Both turn an analog H(s) into a digital H(z) and both preserve stability. The difference is what each one sacrifices: impulse invariance keeps the shape in time and suffers aliasing; the bilinear transformation removes aliasing entirely and suffers warping in frequency.

Bilinear transformationImpulse invariance
Rules = (2/T)(1 - z^-1)/(1 + z^-1)h[n] = T ha(nT)
Frequency mapW = (2/T) tan(w/2), non linearW = w/T, linear
Mapping of the jW axisWhole axis onto the unit circle, one to oneMany to one: every 2 pi/T band folds onto the same circle
AliasingNonePresent, and unavoidable
DistortionFrequency warpingAmplitude error from the overlapping copies
PrewarpingNeeded, and it fixes the band edges exactlyNot needed and not possible
Applied toThe whole H(s) at onceEach partial fraction term separately
Poles and zerosBoth map by the same ruleOnly the poles map; the zeros move
SuitsEvery filter typeLow pass and band pass only
Time responseNot preservedPreserved: h[n] is the sampled ha(t)
StabilityPreservedPreserved

The advantages of the bilinear transformation, which is what the question asks to explain

  • No aliasing at all. The map is one to one, so no part of the analog response folds back onto another. This is the decisive advantage.
  • It works for every filter type, high pass and band stop included, where impulse invariance fails outright.
  • The band edges can be placed exactly, by prewarping, so the specification is met at the frequencies the customer named.
  • One substitution on the whole transfer function, with no partial fraction expansion to get wrong.
  • Stability is guaranteed by the geometry: the entire left half plane maps inside the unit circle, so a stable prototype cannot produce an unstable filter.
  • The order is preserved and the resulting H(z) has the same number of poles and zeros.

The one thing impulse invariance still does better: it preserves the impulse response shape, so where the time domain behaviour matters more than the spectrum, it is the right choice. Otherwise the bilinear transformation is the default, and that is why almost every design question on this paper names it.

Why do we need the DFT? Define it. HOT 5/19

Ch 7 · DFT and FFT2+6 marks2079 Baishakh Q10 · 2076 Ashwin Q8 · 2074 Chaitra Q9 · 2073 Shrawan Q10 · 2072 Kartik Q11

The DTFT of a sequence is a continuous function of w, so a computer cannot store it and cannot compute it. The DFT takes N samples in time and gives N samples in frequency: a finite set of numbers from a finite set of numbers, which is the only kind of spectrum a machine can hold.

N-1 - j 2 pi k n / N X[k] = SUM x[n] WN^(kn) WN = e n=0 k = 0, 1, ... N-1 1 N-1 x[n] = --- SUM X[k] WN^(-kn) n = 0, 1, ... N-1 N k=0 X[k] is the DTFT sampled at w = 2 pi k / N, N equally spaced points around the unit circle.

Why we need it, the five reasons

  • It is computable. Finite in, finite out, so it can be programmed; the DTFT and the z-transform cannot.
  • It enables fast convolution. Multiplying two DFTs and inverting is far cheaper than a direct convolution for long sequences, once the FFT is used.
  • It is the practical spectrum analyser: the frequency content of a recorded signal is obtained no other way.
  • It underpins the applications: OFDM, JPEG and MP3 coding, correlation, power spectrum estimation, filter design by frequency sampling.
  • The FFT makes it cheap, at N log2 N instead of N^2 operations, which is what turned it from a definition into a tool.

The properties of WN worth knowing, because every FFT question uses them

WN^N = 1 periodic in N WN^(k + N/2) = -WN^k the SYMMETRY that makes the butterfly work WN^2 = W(N/2) the halving that makes the recursion work For N = 8: W8^0 = 1, W8^1 = 0.707 - j0.707, W8^2 = -j, W8^3 = -0.707 - j0.707, W8^4 = -1

What the DFT implicitly assumes. Taking N samples and N frequencies makes both sequences periodic with period N. That assumption is not an approximation to be ignored; it is why convolution through the DFT comes out circular rather than linear, and why a signal that is not periodic in the window leaks energy across the whole spectrum.

Draw the cascade form structure, or realize the system in cascade form with second order sections, for a given H(z). PIN 3/19

Ch 4 · Filter structures5 marks3 of these also set a numerical2081 Baishakh Q5a · 2080 Baishakh Q6 · 2076 Chaitra Q7

A high order filter is almost never built as one direct form: coefficient quantization moves the poles of a long polynomial far too much. Instead H(z) is factored into second order sections, called biquads, each realized in direct form II and then cascaded, or expanded by partial fractions and connected in parallel.

CASCADE H(z) = b0 PRODUCT over k of Hk(z) 1 + b1k z^-1 + b2k z^-2 Hk(z) = ------------------------- 1 + a1k z^-1 + a2k z^-2 PARALLEL H(z) = C + SUM over k of Hk(z), from a partial fraction expansion

The rules for forming the sections

  • Keep conjugate pairs together. A complex pole must be paired with its conjugate in the same section, or the section will have complex coefficients and cannot be built. This is the only hard rule, and it is what the question is checking.
  • Real poles and real zeros pair with each other; an odd number of them leaves one first order section.
  • Multiply out each conjugate pair into a real quadratic: (1 - r e^(j theta) z^-1)(1 - r e^(-j theta) z^-1) = 1 - 2r cos(theta) z^-1 + r^2 z^-2.
  • The overall gain constant goes in front, or is distributed among the sections to keep the internal levels similar and avoid overflow.
  • In practice, pair each pole with its nearest zero and order the sections with the poles closest to the unit circle last, which keeps the internal dynamic range down.

Worked, the conjugate pair from the 2079 paper. The factors {1 - (0.5 + j0.5)z^-1}{1 - (0.5 - j0.5)z^-1} multiply out as 1 - 2(0.5)z^-1 + (0.5^2 + 0.5^2)z^-2 = 1 - z^-1 + 0.5z^-2, a real quadratic ready to build. Here r^2 = 0.5, so r = 0.707 and theta = 45 degrees.

CascadeParallel
Built fromFactors of numerator and denominatorPartial fraction terms
ZerosEach section sets its own zeros exactlyZeros come out of the sum, not controlled directly
Error behaviourErrors pass down the chainEach section's error is independent, so round off is lower
Usual useThe default, and what the paper asks forWhen round off noise matters most

Explain the impulse invariance method of IIR filter design and design a filter with it. PIN 3/19

Ch 6 · IIR design12+3 marks1 of these also set a numerical2078 Bhadra Q9 · 2074 Chaitra Q7 · 2072 Chaitra Q10

Impulse invariance makes the digital impulse response a sampled copy of the analog one: h[n] = T ha(nT). It preserves the shape of the response in time, which the bilinear transformation does not, at the price of aliasing in frequency.

h[n] = T ha(nT) THE MAPPING, term by term on a partial fraction expansion N Ak N T Ak Ha(s) = SUM -------- -> H(z) = SUM ---------------- k=1 s - pk k=1 1 - e^(pk T) z^-1 ONE POLE AT A TIME: s = pk maps to z = e^(pk T) The ZEROS do NOT map: they fall where the sum of the terms puts them. THE FREQUENCY RELATION AND THE PRICE 1 inf H(e^jw) = --- SUM Ha( j(w - 2 pi k) / T ) T k=-inf The analog response is repeated every 2 pi / T and the copies ADD: ALIASING, unless Ha(jW) is already negligible above W = pi / T.

The design procedure

  • Map the digital edges to analog with the straight scaling W = w / T. There is no prewarping here, and that is one of the differences the paper asks about.
  • Design the analog prototype Ha(s), usually Butterworth, from the specification.
  • Expand Ha(s) in partial fractions. The method cannot proceed without this step.
  • Replace each term Ak/(s - pk) by T Ak/(1 - e^(pk T) z^-1).
  • Combine into a single ratio of polynomials in z^-1.
  • Check the gain: some texts omit the factor T, in which case the response is scaled by 1/T. State which convention you are using.

Why stability is preserved. A stable analog pole has Re(pk) < 0, and |e^(pk T)| = e^(Re(pk) T) < 1, so the digital pole lands inside the unit circle. Stability survives; the response does not necessarily.

Where it can and cannot be used. It suits low pass and band pass filters whose analog response has already decayed by W = pi/T. It must not be used for high pass or band stop filters, whose response never decays at high frequency, so the aliased copies land squarely in the passband and destroy it. Saying that sentence answers half of the comparison question.

Find the even and the odd part of a given signal. PIN 2/19

Ch 1 · Signals and systems2+3 marks1 of these also set a numerical2076 Chaitra Q1 · 2071 Shrawan Q1

A signal is even if x[-n] = x[n] and odd if x[-n] = -x[n], which forces x[0] = 0. Every signal splits uniquely into one of each.

xe[n] = ( x[n] + x[-n] ) / 2 the even part xo[n] = ( x[n] - x[-n] ) / 2 the odd part x[n] = xe[n] + xo[n]

The procedure. Tabulate x[n] against n. Write x[-n] underneath by reversing the table about n = 0, not about the first entry. Add the rows and halve for the even part; subtract and halve for the odd part.

Two free checks: the odd part must be zero at n = 0, and the two parts must add back to x[n]. Both catch a reversal error immediately.

Why it is useful: the DTFT of the even part is the real part of X(e^jw) and the DTFT of the odd part is j times the imaginary part, for a real signal. The same decomposition underlies the conjugate symmetry of every spectrum in this subject.

Explain the process of calculating Fourier series coefficients. PIN 2/19

Ch 1 · Signals and systems3 marks2073 Shrawan Q1 · 2072 Chaitra Q1

A periodic signal of period N is written as a sum of N harmonically related complex exponentials. Each coefficient is recovered by multiplying by the conjugate of that exponential and averaging over one period, and it is the orthogonality of the exponentials that makes every other term drop out.

SYNTHESIS x[n] = sum over k = 0..N-1 of c[k] e^( j 2 pi k n / N ) ANALYSIS c[k] = (1/N) sum over n = 0..N-1 of x[n] e^( -j 2 pi k n / N )

The process, derived

  • Check periodicity and find N.
  • Multiply both sides of the synthesis equation by e^(-j 2 pi m n / N).
  • Sum over one period in n, and interchange the two sums.
  • Apply orthogonality: (1/N) sum over one period of e^(j 2 pi (k-m) n/N) equals 1 when k = m and 0 otherwise. Every term except k = m vanishes, leaving N c[m].
  • Divide by N to get the analysis equation.

Only N coefficients are distinct, because c[k + N] = c[k]: the exponentials repeat. For a real signal, c[-k] = c*[k], so the magnitude spectrum is even and the phase spectrum is odd.

The continuous time counterpart, which the older papers mean, is the same argument with an integral over one period T0 in place of the sum, and coefficients c[k] = (1/T0) times the integral of x(t) e^(-j k w0 t) dt.

Plot a transformed sequence such as x[-2n+3], or plot a sequence built from steps, impulses and ramps. List the properties of an LTI system. PIN 2/19

Ch 1 · Signals and systems2+3 marks2076 Chaitra Q1 · 2074 Chaitra Q1

Do the index arithmetic, never the picture. For y[n] = x[an + b], work out which n put an + b inside the range where x is non zero, then evaluate sample by sample.

x[n - k] delay by k shifts RIGHT x[n + k] advance by k shifts LEFT x[-n] folding reflects about n = 0 x[an] decimation keeps every a-th sample x[n/a] interpolation spreads the samples out

The safe procedure

  • Tabulate n against x[n] over the range where x is non zero.
  • Solve for the n that make an + b land in that range, at both ends.
  • For each such n compute an + b and read x at that index.
  • Mark the new origin and plot.

Worked: x[n] = {1, 2, 0, -1, -3, -4} starting at n = 0, and y[n] = x[-2n+3]. x is non zero for 0 <= -2n+3 <= 5, that is -1 <= n <= 1.5, so n = -1, 0, 1. Then y[-1] = x[5] = -4, y[0] = x[3] = -1, y[1] = x[1] = 2, giving y[n] = {-4, -1, 2} for n = -1, 0, 1.

Building a sequence from elementary signals: u[n] - u[n-3] is a rectangle over n = 0, 1, 2; 5 delta[n-4] is a single sample of height 5 at n = 4; n u[n-6] is a ramp starting at n = 6 with value 6. Draw each piece on the same axis and add.

State and derive the convolution property of the z-transform. PIN 2/19

Ch 2 · The z-transform3+6 marks2076 Ashwin Q3 · 2072 Kartik Q3

The z-transform of the convolution of two sequences is the product of their z-transforms, with an ROC at least the intersection of the two.

x1[n] * x2[n] <--> X1(z) . X2(z) DERIVATION y[n] = x1[n] * x2[n] = sum over k of x1[k] x2[n-k] Y(z) = sum over n of y[n] z^-n = sum over n of [ sum over k of x1[k] x2[n-k] ] z^-n Interchange the sums, valid inside the common ROC: = sum over k of x1[k] [ sum over n of x2[n-k] z^-n ] Substitute m = n - k, so n = m + k and z^-n = z^-m z^-k: = sum over k of x1[k] z^-k [ sum over m of x2[m] z^-m ] = X1(z) . X2(z) QED
  • The ROC can be larger than the intersection if a pole of one transform is cancelled by a zero of the other.
  • This property is the reason the transform exists. It turns the convolution sum into one multiplication and gives Y(z) = H(z) X(z), which defines the system function.
  • The same argument in the DFT gives circular convolution, because there the shift wraps around instead of running off the end.

Define the z-transform for a discrete time signal. PIN 2/19

Ch 2 · The z-transform1+5 marks2082 Bhadra Q3 · 2079 Baishakh Q3

The z-transform of x[n] is the power series X(z) = sum over all n of x[n] z^-n, where z is a complex variable. It exists only for those z that make the series converge, and that set of z is the region of convergence, which must always be quoted with it.

BILATERAL X(z) = sum from n = -inf to +inf of x[n] z^-n UNILATERAL X(z) = sum from n = 0 to +inf of x[n] z^-n With z = r e^(jw): X(z) = sum x[n] r^-n e^(-jwn) On the unit circle, r = 1: X(e^jw) = the DTFT
  • It generalises the DTFT. The extra factor r^-n lets the sum converge for sequences whose DTFT does not exist, such as u[n] or a growing exponential.
  • The ROC is part of the answer. A right sided and a left sided sequence can have identical X(z) and are told apart only by the ROC.
  • Why it is used: convolution becomes multiplication, a difference equation becomes a ratio of polynomials, and stability and causality become statements about pole positions.

Why do we need a difference equation? State the linear constant coefficient difference equation and the corresponding system function. PIN 2/19

Ch 3 · Frequency domain3+7 marks2073 Shrawan Q4 · 2071 Shrawan Q3

A linear constant coefficient difference equation relates the output to the input and to past values of both, with coefficients that do not depend on n. It is the discrete time counterpart of a differential equation and it is how a system is actually implemented.

N M sum a[k] y[n - k] = sum b[k] x[n - k] with a[0] = 1 k = 0 k = 0 M y[n] = sum b[k] x[n-k] - sum from k = 1 to N of a[k] y[n-k] k = 0 B(z) b0 + b1 z^-1 + ... + bM z^-M H(z) = ------- = ---------------------------- A(z) 1 + a1 z^-1 + ... + aN z^-N

Why we need it

  • It is implementable. Convolution with an infinite h[n] cannot be programmed; a difference equation with a few coefficients runs in real time.
  • It has finite memory. Only N past outputs and M past inputs are stored, however long h[n] is.
  • It carries the structure. The b coefficients are the feed forward path and the a coefficients the feedback path, which is exactly what a direct form realises.
  • It classifies the filter. No a terms means FIR and non recursive; any a term means IIR and recursive.
  • It gives the system function in one step, by taking the z-transform of both sides and using x[n-k] mapping to z^-k X(z).

The solution splits in two. The zero input response comes from the initial conditions with x[n] = 0, and is found from the roots of the characteristic equation. The zero state response comes from the input with zero initial conditions, and is found by convolution or by the z-transform. The total response is their sum.

Describe the stability and causality characteristics of an LTI system in terms of its impulse response and the ROC of its transfer function, with suitable examples. PIN 2/19

Ch 3 · Frequency domain4+3 marks2076 Ashwin Q4 · 2072 Chaitra Q4

Both properties are statements about h[n], and both become statements about the ROC once you take the z-transform. That is the point of the question: two pictures of the same fact.

In terms of h[n]In terms of the ROC
Causalh[n] = 0 for all n < 0The ROC is the exterior of the outermost pole, and includes z = infinity
Stablesum of |h[n]| is finiteThe ROC contains the unit circle
Causal and stableBoth of the aboveAll poles strictly inside the unit circle, ROC |z| > rmax with rmax < 1

Why the ROC statements follow. A causal sequence has only negative powers of z in its transform, so nothing blows up as |z| grows and the ROC must extend outward to infinity. The condition that the ROC contains |z| = 1 is precisely that sum of |h[n]| |z|^-n converges at |z| = 1, which is the absolute summability condition.

The four examples to give, one of each kind

  • Causal and stable: h[n] = (0.5)^n u[n], H(z) = z/(z - 0.5), ROC |z| > 0.5. The ROC is outside the pole and contains the unit circle. sum |h[n]| = 2.
  • Causal but unstable: h[n] = (2)^n u[n], H(z) = z/(z - 2), ROC |z| > 2. The ROC excludes the unit circle, and the sum diverges.
  • Stable but not causal: h[n] = -(2)^n u[-n-1], H(z) = z/(z - 2) again, but with ROC |z| < 2. It contains the unit circle, so this one is stable, and it is not causal. Note the transform is identical to the previous example: only the ROC tells them apart, which is the whole reason the ROC must be quoted.
  • Neither: h[n] = (0.5)^n u[-n-1] gives ROC |z| < 0.5, which is neither outside the pole nor containing the unit circle.

The practical consequence. A real time filter must be causal, and any usable filter must be stable, so every filter you design in this subject ends with all of its poles inside the unit circle and the ROC |z| > rmax. That is why the bilinear transformation, which maps the entire left half s-plane inside the unit circle, is safe, and why the impulse invariance method needs a check.

Given a three stage lattice filter with coefficients K1, K2 and K3, obtain the system function and the FIR filter coefficients. PIN 2/19

Ch 4 · Filter structures6 marks2 of these also set a numerical2079 Bhadra Q6 · 2071 Shrawan Q4

This is the previous question run forwards. Start from A0(z) = 1 and apply the order update once per K, in the order K1, then K2, then K3.

Am(z) = A(m-1)(z) + Km z^-m A(m-1)(z^-1) where A(m-1)(z^-1) is the coefficient list of A(m-1) REVERSED.

Worked, with K1 = 1/4, K2 = 1/2, K3 = 1/3, which is the pair the paper sets.

  • A0(z) = 1.
  • A1(z) = 1 + K1 z^-1 = 1 + (1/4)z^-1.
  • A2(z) = A1(z) + K2 z^-2 A1(z^-1) = [1 + 0.25z^-1] + (1/2)z^-2[1 + 0.25z] = 1 + 0.25z^-1 + 0.5z^-2 + 0.125z^-1 = 1 + 0.375z^-1 + 0.5z^-2, that is 1 + (3/8)z^-1 + (1/2)z^-2.
  • A3(z) = A2(z) + K3 z^-3 A2(z^-1) = [1 + 0.375z^-1 + 0.5z^-2] + (1/3)z^-3[1 + 0.375z + 0.5z^2] = 1 + 0.375z^-1 + 0.5z^-2 + 0.3333z^-3 + 0.125z^-2 + 0.1667z^-1 = 1 + 0.5417z^-1 + 0.625z^-2 + 0.3333z^-3.
ALL ZERO CASE: H(z) = A3(z) = 1 + (13/24)z^-1 + (5/8)z^-2 + (1/3)z^-3 FIR coefficients h[n] = { 1, 13/24, 5/8, 1/3 } for n = 0, 1, 2, 3 ALL POLE CASE: H(z) = 1 / A3(z) = 1 / [ 1 + (13/24)z^-1 + (5/8)z^-2 + (1/3)z^-3 ]

Read the question for which of the two it wants. "All zero polynomial" means H(z) = A3(z) and the FIR coefficients are the coefficients of A3. "All pole" means H(z) = 1/A3(z) and there are no FIR coefficients to give. The arithmetic up to A3(z) is identical, and the two wordings alternate between sittings.

The free check: stepping A3(z) back down must return K3 = 1/3, K2 = 1/2, K1 = 1/4. It does, which is how this question and the lattice question verify each other.

In which case do we choose an FIR filter and in which an IIR filter? PIN 2/19

Ch 5 · FIR design2+8 marks2080 Baishakh Q7 · 2076 Ashwin Q9

Choose FIR when the phase must not distort the signal or when stability must be unconditional; choose IIR when a sharp response is needed from few operations and some phase distortion is acceptable.

Choose FIR whenChoose IIR when
Linear phase is required: data transmission, audio crossovers, image processing, biomedical waveforms such as ECG, where the shape of the pulse carries the informationOnly the magnitude matters: audio tone controls, simple noise removal, anti alias smoothing
Stability must be guaranteed whatever the coefficients, for instance in an adaptive filter whose coefficients change while it is runningComputation, memory or power is tight, since the order is typically 5 to 10 times lower for the same specification
Coefficients will be heavily quantized, since FIR has no poles to push out of the unit circle and never has limit cyclesA very sharp cutoff is needed and the order for an FIR design would be impractical
An arbitrary or multiband response is wanted, easily designed with Remez or frequency samplingAn analog prototype exists and is to be matched: Butterworth, Chebyshev, elliptic
Multirate work: decimators and interpolators, where only the retained samples need computingReal time with low latency, since the FIR group delay of (N-1)/2 samples can be long

The trade in one sentence: an FIR filter buys exact linear phase and guaranteed stability with a much higher order, and an IIR filter buys efficiency and sharpness with non linear phase and a stability that has to be checked.

Describe digital domain spectral transformation, its features and parameters, for low pass to high pass conversion in IIR filter design. PIN 2/19

Ch 6 · IIR design4 marks2080 Baishakh Q10 · 2079 Bhadra Q9

A spectral transformation converts a finished digital low pass prototype into a high pass, band pass or band stop filter by replacing z^-1 with an all pass function of z^-1. It is done entirely in the digital domain, so the prototype never has to be redesigned.

Replace z^-1 by G( z^-1 ), an ALL PASS function Why all pass: |G(e^jw)| = 1, so the magnitude VALUES are only relabelled in frequency, never changed in size. The passband stays a passband, the ripple stays the same, and the order is preserved. All the transformation does is move the edges.
WantedSubstitute z^-1 byParameter
Low pass, new cutoff(z^-1 - a)/(1 - a z^-1) a = sin((wc - wc')/2) / sin((wc + wc')/2)
High pass-(z^-1 + a)/(1 + a z^-1) a = -cos((wc + wc')/2) / cos((wc - wc')/2)
Band pass-(z^-2 - a1 z^-1 + a2)/(a2 z^-2 - a1 z^-1 + 1)a1, a2 from the two band edges; the order doubles
Band stop(z^-2 - a1 z^-1 + a2)/(a2 z^-2 - a1 z^-1 + 1)as above, and the order doubles

Here wc is the cutoff of the prototype and wc' the cutoff wanted in the new filter.

The simplest and most useful case. When the new cutoff is to equal the old one, wc' = wc, the high pass parameter becomes a = -cos(wc)/cos(0) = -cos(wc), and if in addition wc = pi/2, then a = 0 and the whole transformation collapses to

z^-1 -> - z^-1 which simply ALTERNATES THE SIGNS of the coefficients: b1, b3, ... and a1, a3, ... change sign and the even ones do not. In frequency it is a shift of pi, so the response at DC swaps with the response at Nyquist.

Features to list

  • Magnitude preserving. Being all pass, the substitution keeps every ripple value, so the design specification carries over.
  • Order preserving for low pass to low pass and low pass to high pass; doubled for band pass and band stop, since z^-1 is replaced by a second order function.
  • Stability preserving. The all pass function maps the unit disc to itself, so poles inside the circle stay inside.
  • Done in the digital domain, after the design is complete, so one Butterworth prototype can serve every band type.

The alternative is the analog route: transform in the s domain first, with s to Wc/s for high pass, and only then apply the bilinear transformation. Both give a working filter; the digital route is preferred because the prototype is reusable and the edges are controlled directly in w.

What is zero padding? Find the linear convolution through circular convolution with padding of zeros. PIN 2/19

Ch 7 · DFT and FFT1+5 marks2074 Chaitra Q10 · 2074 Ashwin Q10

Zero padding is appending zeros to a sequence before taking its DFT. It does two useful things: it makes circular convolution equal linear convolution, and it interpolates the spectrum onto a finer grid.

TO MAKE CIRCULAR CONVOLUTION LINEAR x has N1 samples, h has N2 samples. Pad BOTH with zeros to length N >= N1 + N2 - 1 Then x (N) h = x * h, exactly. TO INTERPOLATE THE SPECTRUM Pad x from N to L > N. The DFT then samples the SAME DTFT at L points instead of N, spacing 2 pi / L instead of 2 pi / N.

The distinction the examiner is testing. Zero padding gives more points on the spectrum but no more resolution: the DTFT being sampled is unchanged, so two close frequencies that were unresolved stay unresolved. Resolution comes only from more data, a longer observation of the signal, since it is set by the window length. Padding fills in the curve between the samples; it does not add information. Say this and the mark is yours.

The other use: padding to the next power of two so a radix 2 FFT can be used. A 6 point sequence is padded to 8 and a 5 point to 8 for exactly this reason, which is why so many questions on this paper hand you six samples and ask for an 8 point DFT.

Worked, the wording set. x[n] = {1, 1, 1, 1}, h[n] = {2, 3}.

  • N1 = 4, N2 = 2, so the linear convolution has 4 + 2 - 1 = 5 samples and N = 5.
  • Pad: x = {1, 1, 1, 1, 0} and h = {2, 3, 0, 0, 0}.
  • 5 point circular convolution: y[0] = 1(2) = 2; y[1] = 1(3) + 1(2) = 5; y[2] = 1(3) + 1(2) = 5; y[3] = 1(3) + 1(2) = 5; y[4] = 1(3) + 0(2) = 3.
  • y = {2, 5, 5, 5, 3}, which is the linear convolution exactly. Check: 4 x 5 = 20 = 2 + 5 + 5 + 5 + 3.
  • Without padding, a 4 point circular convolution would give {5, 5, 5, 5}: the last sample, 3, has wrapped around and added to the first, 2. That is the aliasing the padding prevents, and showing it is worth stating.

For a long input stream the same idea becomes overlap add, where the input is cut into blocks, each convolved by DFT with the padded h, and the overlapping tails added; or overlap save, where blocks overlap at the input and the first N2 - 1 aliased outputs of each block are discarded.

Write Dirichlet's conditions for Fourier series. PIN 1/19

Ch 1 · Signals and systems4+3 marks2076 Ashwin Q1

Dirichlet's conditions are sufficient conditions for the Fourier series of a periodic signal to converge to the signal. Over one period the signal must be:

  • Absolutely integrable, or absolutely summable in discrete time: the integral, or sum, of |x| over one period is finite.
  • Of bounded variation: it has a finite number of maxima and minima in one period.
  • Piecewise continuous: it has a finite number of finite discontinuities in one period.

What happens at a discontinuity. The series converges to the midpoint of the jump, not to either side of it, and the partial sums overshoot the jump by about 9 percent however many terms are taken. That overshoot is Gibbs' phenomenon, and it is why truncating an ideal filter response leaves ripples that lengthening the filter does not remove.

Differentiate between Fourier series and Fourier transform. PIN 1/19

Ch 1 · Signals and systems3+4 marks2075 Chaitra Q1

The series describes a periodic signal with a discrete set of coefficients; the transform describes an aperiodic signal with a continuous function of frequency. The transform is the limit of the series as the period grows without bound.

Fourier seriesFourier transform
Applies toPeriodic signalsAperiodic signals of finite energy
SpectrumDiscrete lines at multiples of the fundamental Continuous in frequency
ProducesA set of coefficients c[k]A function X(w)
OperationAn average over one periodA sum or integral over all time
Frequencies presentOnly harmonics of the fundamentalAll frequencies
Energy or powerDescribes a power signalDescribes an energy signal
RelationLet the period go to infinity: the spacing between the lines goes to zero and the series becomes the transform.

Explain the Fourier transform multiplication property for two sequences. PIN 1/19

Ch 1 · Signals and systems4+3 marks2076 Ashwin Q1

Multiplying two sequences in time corresponds to convolving their spectra in frequency. Because both spectra are periodic in 2 pi, the convolution is a periodic convolution over one period.

1 pi x1[n] . x2[n] <--> --- INT X1(e^j theta) X2( e^j(w - theta) ) d theta 2 pi -pi

The derivation

  • Write X(e^jw) = sum over n of x1[n] x2[n] e^(-jwn).
  • Replace x1[n] by its inverse transform, (1/2pi) times the integral of X1(e^j theta) e^(j theta n) d theta.
  • Interchange the sum and the integral: X(e^jw) = (1/2pi) times the integral of X1(e^j theta) [ sum over n of x2[n] e^(-j(w - theta) n) ] d theta.
  • The bracket is X2(e^j(w - theta)), which gives the result.

Why it matters in this subject. The FIR window method is exactly this property: h[n] = hd[n] w[n] in time, so H(e^jw) is the ideal response convolved with the window's spectrum. The main lobe of the window widens the transition band and its side lobes put ripple in the stopband. Every property of every window follows from this one line.

The dual is the convolution property: convolution in time is multiplication in frequency, which is what makes the transform useful for filtering in the first place.

Check a system for BIBO stability. A discrete time LTI system is given by the difference equation y[n] = x[n] + e^a y[n-1]: check it for BIBO stability. PIN 1/19

Ch 3 · Frequency domain5 marks2081 Baishakh Q1

A system is BIBO stable if every bounded input produces a bounded output. For an LTI system this is equivalent to the impulse response being absolutely summable, and equivalently to every pole lying strictly inside the unit circle for a causal system.

BIBO <=> sum over all n of |h[n]| < infinity <=> the ROC of H(z) contains the UNIT CIRCLE <=> (causal systems) every pole has |p| < 1

The proof, which is short enough to write out

  • Sufficiency. If |x[n]| <= Mx for all n, then |y[n]| = |sum of h[k] x[n-k]| <= sum of |h[k]| |x[n-k]| <= Mx sum of |h[k]|. If the sum is finite, y is bounded.
  • Necessity. Choose the bounded input x[n] = sign(h[-n]). Then y[0] = sum over k of h[k] sign(h[k]) = sum of |h[k]|, so if the sum diverges, y[0] is unbounded for a bounded input.

Worked, the question set. y[n] = x[n] + e^a y[n-1].

  • Take the z-transform: Y(z) = X(z) + e^a z^-1 Y(z), so H(z) = 1/(1 - e^a z^-1) = z/(z - e^a).
  • There is one pole, at z = e^a, and the impulse response of the causal system is h[n] = (e^a)^n u[n].
  • sum of |h[n]| = sum of (e^a)^n over n >= 0, a geometric series, finite only when |e^a| < 1.
  • For real a, |e^a| < 1 means a < 0. So the system is BIBO stable for a < 0, marginally unstable at a = 0, where h[n] = u[n] and the sum diverges, and unstable for a > 0.
  • If a is complex, a = sigma + j omega, then |e^a| = e^sigma, so the condition is Re(a) < 0.

An FIR system is always stable, because a finite sum of finite terms is finite, whatever the coefficients. That one line answers several parts of this question elsewhere on the paper.

Differentiate between FIR system and IIR system. PIN 1/19

Ch 3 · Frequency domain4+6 marks2080 Baishakh Q4

An FIR system has an impulse response of finite length and no feedback; an IIR system has an impulse response that never quite ends, because its difference equation feeds the output back.

FIRIIR
Impulse responseFinite: h[n] = 0 outside 0 to MInfinite, decaying for a stable filter
Difference equationNon recursive: output from inputs onlyRecursive: past outputs fed back
System functionAll zero, poles only at z = 0Has poles away from the origin
StabilityAlways stableStable only if every pole is inside the unit circle
Linear phaseExactly, if h[n] is symmetricNot possible exactly
Order for a given specHigh, often 5 to 10 times moreLow
Computation and memoryMoreLess
Coefficient sensitivityLow, tolerant of quantizationHigh: quantization can move a pole outside the circle
Limit cyclesNonePossible, because of the feedback
Analog counterpartNone, it is a digital designButterworth, Chebyshev and so on
Design methodsWindows, frequency sampling, RemezImpulse invariance, bilinear transformation

The one line an examiner is looking for: use FIR when linear phase matters and you can afford the order, use IIR when you need a sharp cutoff cheaply and phase distortion is acceptable.

Determine the zero input response for a second order system. PIN 1/19

Ch 3 · Frequency domain4 marks1 of these also set a numerical2078 Bhadra Q4

The zero input response, also called the natural or free response, is the output produced by the initial conditions alone, with the input set to zero. It is found from the roots of the characteristic equation.

STEP 1 Set x[n] = 0: y[n] + a1 y[n-1] + a2 y[n-2] = 0 STEP 2 Assume y[n] = lambda^n and divide through by lambda^(n-2): lambda^2 + a1 lambda + a2 = 0 the CHARACTERISTIC EQUATION STEP 3 Solve for the roots, then write the form: distinct real roots y[n] = C1 lambda1^n + C2 lambda2^n repeated root y[n] = (C1 + C2 n) lambda^n complex conjugates y[n] = r^n ( C1 cos(theta n) + C2 sin(theta n) ) STEP 4 Fit C1 and C2 to the given y[-1] and y[-2].

Worked, the 2078 Bhadra question. y[n] - 3y[n-1] - 4y[n-2] = x[n]. With x[n] = 0 the characteristic equation is lambda^2 - 3 lambda - 4 = 0, so (lambda - 4)(lambda + 1) = 0 and the roots are 4 and -1.

y[n] = C1 (4)^n + C2 (-1)^n, with C1 and C2 fixed by the initial conditions.

Read the stability off it. The root at 4 lies outside the unit circle, so the natural response grows without bound: the system is unstable. Saying that is worth a mark and costs a sentence.

Represent a given fraction in sign magnitude, one's complement and two's complement format. PIN 1/19

Ch 4 · Filter structures7+3 marks1 of these also set a numerical2075 Ashwin Q5

All three formats agree on positive numbers and differ only in how they write the negative one. Write the magnitude in binary first, then apply the rule.

SIGN MAGNITUDE sign bit, then the magnitude unchanged ONE'S COMPLEMENT complement EVERY bit of the positive form TWO'S COMPLEMENT complement every bit, then ADD 1 to the last place

The fractional part. With the binary point just after the sign bit, the bit weights are 2^-1 = 0.5, 2^-2 = 0.25, 2^-3 = 0.125 and so on. So 5/8 = 0.625 = 0.5 + 0.125 = 0.101 in binary.

Worked, the values the paper sets: 5/8 and -5/8.

Format+5/8-5/8
Sign magnitude0.1011.101, only the sign bit changes
One's complement0.1011.010, every bit flipped
Two's complement0.1011.011, flipped then plus 0.001

Check it. In two's complement the sign bit carries weight -1, so 1.011 reads as -1 + 0.25 + 0.125 = -0.625 = -5/8, as required.

Why two's complement is the one that is actually used: it has a single representation of zero, whereas the other two have both +0 and -0; addition and subtraction use the same adder with no end around carry; and a chain of additions that overflows in the middle still gives the right answer if the final sum is in range, which matters in the accumulator of a filter.

What is the importance of quantization in digital signal processing? Which is better, rounding or truncation? Explain limit cycles in a recursive system. Define dead band. PIN 1/19

Ch 4 · Filter structures1+1+2+1 marks2071 Shrawan Q5

Quantization is the step that makes a signal digital: each sample, and each filter coefficient, must be stored in a finite number of bits, and the error this introduces is what the whole of finite word length analysis is about.

Why it matters, the four places error enters

  • Input quantization in the ADC: rounding the sample to B bits, which adds noise of power q^2/12 where q = 2^-B is the step size, giving the familiar SNR = 6.02B + 1.76 dB.
  • Coefficient quantization: the stored b and a values are not the designed ones, so the poles and zeros move. In a high order direct form the poles can move far enough to leave the unit circle, which is why cascade and lattice structures are preferred.
  • Product round off: every multiplication of two B bit numbers gives 2B bits and must be shortened again, at every multiplier, every sample.
  • Overflow: a sum exceeding the register wraps around, turning a small error into a full scale one. Scaling and saturation arithmetic are the defences.

Rounding or truncation. Rounding is better, and the reason is the mean of the error, not its size.

RoundingTruncation
Error range-q/2 to +q/2-q to 0, for two's complement
Mean errorZero, so no bias-q/2, a DC offset that accumulates
Varianceq^2/12q^2/12, the same
CostAn extra addFree, just drop the bits

The variances are equal, so the whole argument is the bias: a truncation error has a non zero mean that a recursive filter integrates, producing a steady offset at the output.

Limit cycles. In a recursive filter, round off at the multipliers feeds back. With the input removed, the output can fail to decay to zero and instead settle into a small self sustaining oscillation, periodic and of fixed amplitude, called a zero input limit cycle. It happens because rounding makes the effective pole magnitude exactly 1 for small signals: the quantizer rounds the decayed value back up to where it started. An overflow limit cycle is the larger and more serious cousin, caused by wraparound in the adder, and it is cured by saturation arithmetic.

Dead band. The dead band is the range of output amplitudes inside which the limit cycle oscillates, that is, the band of values the quantizer cannot resolve downwards. For a first order filter y[n] = a y[n-1] + x[n] with step size q = 2^-b, the dead band is

|y[n]| <= q / ( 2 (1 - |a|) ) = 2^-b / ( 2 (1 - |a|) )

Once the output falls inside this band it stays there. Note that a pole close to the unit circle, |a| near 1, makes the dead band wide, which is the quantitative statement of why sharp IIR filters suffer most. An FIR filter has no limit cycles at all, because there is no feedback path for the error to circulate in.

Differentiate between an analog filter and a digital filter. PIN 1/19

Ch 5 · FIR design2+6 marks2082 Baishakh Q6

An analog filter processes a continuous time signal with physical components; a digital filter processes a sampled, quantized sequence with arithmetic.

Analog filterDigital filter
SignalContinuous in time and amplitudeDiscrete in both
Built fromR, L, C and op ampsAdders, multipliers and delays, in software or hardware
Described byA differential equation, H(s)A difference equation, H(z)
Stability regionPoles in the left half s-planePoles inside the unit circle
AccuracyLimited by component tolerance, typically 1 to 5 percent Limited only by word length, and repeatable to the bit
DriftAges, and varies with temperatureNone: the coefficients are numbers
Changing the responseReplace componentsChange the coefficients, even while running
Linear phaseNot achievable exactlyExact, with a symmetric FIR
Very low frequenciesNeed impractically large L and CNo difficulty
Very high frequenciesThe natural domainLimited by the sampling rate and the processor
Extra hardwareNoneNeeds an anti alias filter, an ADC and a DAC
Cost of complexityRises steeply with orderRises linearly, just more arithmetic

The point worth stating: a digital filter always sits behind an analog anti alias filter and an ADC, so the two are not rivals. The analog part guards the sampling theorem, and the digital part does the work that needs accuracy, repeatability and linear phase.

Design the symmetric FIR low pass filter whose desired frequency response is Hd(w) = e^(-jw tau) for |w| &lt;= wc and 0 elsewhere, for a given length and cutoff. PIN 1/19

Ch 5 · FIR design10 marks1 of these also set a numerical2080 Bhadra Q6

This is the window method with the rectangular window and the ideal response given to you outright. The whole question is the inverse DTFT, then the symmetry check.

1 wc hd[n] = --- INT e^(-jw tau) e^(jwn) dw 2 pi -wc 1 wc = --- INT e^( j w (n - tau) ) dw 2 pi -wc 1 [ e^( j w (n - tau) ) ] wc = --- [ ------------------- ] 2 pi [ j (n - tau) ] -wc e^( j wc (n-tau) ) - e^( -j wc (n-tau) ) 2 j sin( wc (n-tau) ) = ------------------------------------------- = ---------------------- 2 pi j (n - tau) 2 pi j (n - tau) sin( wc ( n - tau ) ) = ------------------------ tau = (N - 1)/2 pi ( n - tau ) At n = tau the expression is 0/0; take the limit, or use sin(x)/x -> 1: hd[tau] = wc / pi

The procedure for the exam

  • Take N from the question and compute tau = (N-1)/2. For N = 7, tau = 3.
  • Evaluate hd[n] at n = 0, 1, ... N-1 using the formula, and the special case at n = tau.
  • With a rectangular window, h[n] = hd[n] over that range and zero outside.
  • Check the symmetry: h[n] must equal h[N-1-n]. It does automatically, because hd depends on n only through (n - tau), and this check catches an arithmetic slip immediately.
  • Write H(z) = sum of h[n] z^-n, and state the group delay tau samples.

The four types of linear phase FIR filter, which is the theory the question is really after:

TypeSymmetryLength NCannot realize
Ih[n] = h[N-1-n]OddNothing: any filter
IIh[n] = h[N-1-n]EvenHigh pass, since H(pi) = 0 always
IIIh[n] = -h[N-1-n]OddLow pass and high pass, since H(0) = H(pi) = 0
IVh[n] = -h[N-1-n]EvenLow pass, since H(0) = 0

So a symmetric odd length filter, Type I, is the safe default and the one to design unless the question says otherwise. Types III and IV, being antisymmetric, carry an extra 90 degrees of phase and are what differentiators and Hilbert transformers are built from.

State the circular convolution property of the DFT, and the other DFT properties. PIN 1/19

Ch 7 · DFT and FFT1+5 marks2075 Ashwin Q9

The property the paper asks for by name: multiplication of two N point DFTs corresponds to the N point circular convolution of the two sequences, not their linear convolution.

x1[n] (N) x2[n] <--DFT--> X1[k] . X2[k] N-1 x3[n] = y[n] = SUM x1[m] x2[ (n - m) mod N ] m=0 and the dual: x1[n] . x2[n] <--> (1/N) X1[k] (N) X2[k]
PropertyTimeFrequency
Linearitya x1[n] + b x2[n]a X1[k] + b X2[k]
Circular shiftx[(n - m) mod N]X[k] WN^(km)
Circular frequency shiftx[n] WN^(-ln)X[(k - l) mod N]
Circular convolutionx1[n] (N) x2[n]X1[k] X2[k]
Multiplicationx1[n] x2[n](1/N) X1[k] (N) X2[k]
Circular correlationsum x[n] y*[n - l]X[k] Y*[k]
Time reversalx[(-n) mod N]X[(-k) mod N]
Conjugate symmetry, real xx[n] realX[k] = X*[(N-k) mod N]
Parsevalsum |x[n]|^2(1/N) sum |X[k]|^2
DualityX[n]N x[(-k) mod N]

Derivation of the convolution property, which is short. Take the inverse DFT of the product:

x3[n] = (1/N) sum over k of X1[k] X2[k] WN^(-kn) Write X1[k] = sum over m of x1[m] WN^(km) and interchange the sums: = sum over m of x1[m] [ (1/N) sum over k of X2[k] WN^(-k(n-m)) ] The bracket is the inverse DFT of X2 evaluated at (n - m). Because WN^(-k.) is periodic in N, that index is taken MODULO N: = sum over m of x1[m] x2[ (n - m) mod N ] QED

The modulo is the whole story. A linear convolution lets the shifted sequence run off the end; the DFT wraps it around, because the DFT sees both sequences as periodic. Everything that follows, the need for zero padding, the overlap add and overlap save methods, comes from that one line.

Conjugate symmetry is worth using. For a real sequence, X[N-k] = X*[k], so only N/2 + 1 of the DFT values need computing, and in an exam it halves the arithmetic and gives a free check on what you already computed.

Differentiate between the DFT and the DTFT. PIN 1/19

Ch 7 · DFT and FFT2+6 marks2078 Bhadra Q10

The DTFT is a continuous function of frequency computed from an infinite sequence; the DFT is N samples of that function computed from N samples of the sequence.

DTFTDFT
DefinitionX(e^jw) = sum over all n of x[n] e^(-jwn)X[k] = sum from n = 0 to N-1 of x[n] e^(-j2 pi kn/N)
Input lengthInfiniteFinite, N samples
OutputContinuous in wDiscrete, N values
PeriodicityPeriodic in w with period 2 piPeriodic in k with period N
ComputableNo, it is an analytical toolYes, and quickly with the FFT
RelationX[k] = X(e^jw) evaluated at w = 2 pi k/N: the DFT is the sampled DTFT
Time domain assumedAperiodicPeriodic with period N, which is the source of circular convolution
ConvolutionMultiplying DTFTs gives linear convolution Multiplying DFTs gives circular convolution
ResolutionInfinite2 pi / N, set by the number of points

The one consequence to remember: because the DFT samples the DTFT, the time sequence it implies is the original one repeated every N samples. If the true sequence is longer than N, those repeats overlap, which is time domain aliasing, and it is exactly why linear convolution through the DFT needs zero padding to length at least N1 + N2 - 1.

108 worked numericals · grouped by topic · every answer computed, not typed

Every numerical, worked

The 108 computational questions the paper has set, grouped into 17 topics and ordered by how many sittings set each one. Open a topic, then open a question. Every number you see was computed when this page was built: the solver is given the data of the question and works it out, so an arithmetic slip cannot survive here, and several solutions carry a second, independent check that the build refuses to pass without.

How to use this page

  • By topic, not by paper. The same computation comes back every year with different numbers, so practise the method once and the year does not matter. The topic that has been set most often is at the top.
  • Every solution shows the working, in the order the examiner wants it: the setup, the step that carries the marks, the arithmetic, then the answer in bold.
  • Do the check. Most of these have a check that costs one line and catches almost every slip: the sums multiply in a convolution, X[0] is the sum of the samples in a DFT, the two parts add back to the signal in an even and odd split. Each solution shows its own.
  • Where the scan is ambiguous, or the printed equation is plainly mistyped, the reading used is stated above the solution rather than assumed.
  • The theory behind each method is in its chapter and in the theory answers; this page is the arithmetic.

The pole zero map and the magnitude sketch TOP 16/19

Ch 3 · Frequency domain16 questions, from 16 of the 19 sittings

The procedure, the same for every question in this topic
1 Difference equation -> H(z). Take the z-transform of both sides, using x[n-k] -> z^-k X(z), and form H(z) = Y(z)/X(z). 2 Multiply above and below by z^N so both are POSITIVE powers of z. The zeros and poles AT THE ORIGIN appear at this step, and forgetting them is the usual lost mark. 3 Factor. Roots of the numerator are the ZEROS, drawn o. Roots of the denominator are the POLES, drawn x. 4 Draw the unit circle, mark Re and Im, plot everything, state the ROC: |z| > the largest pole magnitude, for a causal system. 5 Sketch |H| by the GEOMETRIC rule: product of distances from e^jw to each ZERO |H(e^jw)| = --------------------------------------------- x |gain| product of distances from e^jw to each POLE 6 Walk w from 0 (the point z = 1) to pi (the point z = -1).
  • Near a pole the response peaks, at w equal to the angle of the pole, and the closer the pole is to the circle the sharper the peak.
  • Near a zero it dips, to exactly zero if the zero is on the circle.
  • Anything at the origin changes only the phase, since its distance to every point of the unit circle is 1.
  • A pole or zero far outside the circle barely changes the shape: it scales the curve. That is why the 0.45 +/- j1.6 family gives a gentle response and not a resonance.
Every answer in this topic
PaperQMarksThe answer
2082 BhadraQ42+8The response rises to a peak of 2.0368 near w = 1.291, with |H| = 1.5441 at w = 0 and 1.4456 at w = pi. That makes it a low pass shape.
2082 BaishakhQ43+7The response rises to a peak of 2.0368 near w = 1.291, with |H| = 1.5441 at w = 0 and 1.4456 at w = pi. That makes it a low pass shape.
2081 BhadraQ43+7The response rises to a peak of 1.3405 near w = 1.291, with |H| = 0.7059 at w = 0 and 0.8485 at w = pi. That makes it a high pass shape.
2081 BaishakhQ43+7The response rises monotonically, with |H| = 0.2114 at w = 0 and 0.2587 at w = pi. That makes it a high pass shape.
2080 BhadraQ43+7The response falls monotonically, with |H| = 5.098 at w = 0 and 1.9608 at w = pi. That makes it a low pass shape.
2079 BhadraQ43+7The response rises to a peak of 1.5251 near w = 1.456, with |H| = 0.2778 at w = 0 and 1.0938 at w = pi. That makes it a high pass shape.
2079 BaishakhQ43+7The response rises to a peak of 1.3142 near w = 1.482, with |H| = 0.5556 at w = 0 and 1 at w = pi. That makes it a high pass shape.
2078 BhadraQ52+4The response rises to a peak of 1.3405 near w = 1.291, with |H| = 0.7059 at w = 0 and 0.8485 at w = pi. That makes it a high pass shape.
2076 ChaitraQ52+6The response rises to a peak of 11.4954 near w = 1.165, with |H| = 3.0994 at w = 0 and 2.0892 at w = pi. That makes it a low pass shape.
2076 AshwinQ62+8The response rises monotonically, with |H| = 0.2114 at w = 0 and 0.2587 at w = pi. That makes it a high pass shape.
2075 ChaitraQ32+7The response falls monotonically, with |H| = 9.5714 at w = 0 and 4.0769 at w = pi. That makes it a low pass shape.
2075 AshwinQ42+8The response rises to a peak of 11.4954 near w = 1.165, with |H| = 3.0994 at w = 0 and 2.0892 at w = pi. That makes it a low pass shape.
2074 ChaitraQ42+8The response rises to a peak of 0.7983 near w = 1.045, with |H| = 0.1229 at w = 0 and 0.3404 at w = pi. That makes it a high pass shape.
2074 AshwinQ43+7The response falls monotonically, with |H| = 3.625 at w = 0 and 0.1875 at w = pi. That makes it a low pass shape.
2072 ChaitraQ52+4The response falls monotonically, with |H| = 2.2857 at w = 0 and 0.2667 at w = pi. That makes it a low pass shape.
2072 KartikQ56The response rises to a peak of 2.4438 near w = 0.877, with |H| = 2.125 at w = 0 and 0.1667 at w = pi. That makes it a low pass shape.
The checks that cost nothing
  • Both endpoints, numerically. |H(e^j0)| is H(z) at z = 1 and |H(e^jpi)| is H(z) at z = -1. Two substitutions, and they anchor the whole sketch.
  • Conjugate pairs. Real coefficients force poles and zeros into conjugate pairs, so the magnitude is even in w: sketching 0 to pi is the whole answer.
  • Count them. The number of poles equals the number of zeros once those at the origin and at infinity are counted. If they differ, a z^N was dropped.
2082 Bhadra · Q42+8 marksDraw the poles and zeros in the z-plane for the system with poles at 0.45 +/- j1.6 and zeros at 0.58 +/- j2.06. Also plot the magnitude response (not in scale) of the system.

The poles and zeros are given, so build H(z) from them: the numerator is the product of (z - zero) and the denominator the product of (z - pole). Conjugate pairs multiply out to real quadratics, which is why the coefficients come out real.

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 - 1.16z^-1 + 4.58z^-2 ) / ( 1 - 0.9z^-1 + 2.7625z^-2 ) = ( z^2 - 1.16z + 4.58 ) / ( z^2 - 0.9z + 2.7625 )
LocationMagnitudeAngle, degrees
zero, o0.58 + j2.062.140174.28
zero, o0.58 - j2.062.1401-74.28
pole, x0.45 + j1.61.662174.29
pole, x0.45 - j1.61.6621-74.29
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 1.6621, so for a causal system the ROC is |z| > 1.6621, which does not contain the unit circle, so the system is unstable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 101.5441
w = 1.297, the angle of the poles1.29662.0367
w = pi/2, the point z = j1.57081.9016
w = pi, the point z = -13.14161.4456
0pi/4pi/23pi/4pi01.142.28w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 2.0368 near w = 1.291, with |H| = 1.5441 at w = 0 and 1.4456 at w = pi. That makes it a low pass shape.

2082 Baishakh · Q43+7 marksThe poles of a system are located at 0.45 +/- j1.6 and the zeros at 0.58 +/- j2.06. Map the poles and zeros in the z-plane and plot the magnitude and phase response (not to scale) of the system.

The poles and zeros are given, so build H(z) from them: the numerator is the product of (z - zero) and the denominator the product of (z - pole). Conjugate pairs multiply out to real quadratics, which is why the coefficients come out real.

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 - 1.16z^-1 + 4.58z^-2 ) / ( 1 - 0.9z^-1 + 2.7625z^-2 ) = ( z^2 - 1.16z + 4.58 ) / ( z^2 - 0.9z + 2.7625 )
LocationMagnitudeAngle, degrees
zero, o0.58 + j2.062.140174.28
zero, o0.58 - j2.062.1401-74.28
pole, x0.45 + j1.61.662174.29
pole, x0.45 - j1.61.6621-74.29
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 1.6621, so for a causal system the ROC is |z| > 1.6621, which does not contain the unit circle, so the system is unstable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 101.5441
w = 1.297, the angle of the poles1.29662.0367
w = pi/2, the point z = j1.57081.9016
w = pi, the point z = -13.14161.4456
0pi/4pi/23pi/4pi01.142.28w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 2.0368 near w = 1.291, with |H| = 1.5441 at w = 0 and 1.4456 at w = pi. That makes it a low pass shape.

2081 Bhadra · Q43+7 marksPlot the pole zero in z plane and draw magnitude response (not to the scale) of the system described by difference equation y[n] - 0.4 y[n-1] + 0.25 y[n-2] = x[n] - 0.4 x[n-1]

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 - 0.4z^-1 ) / ( 1 - 0.4z^-1 + 0.25z^-2 ) = ( z^2 - 0.4z ) / ( z^2 - 0.4z + 0.25 )
LocationMagnitudeAngle, degrees
zero, o0.40.40
zero, o000
pole, x0.2 + j0.45830.566.42
pole, x0.2 - j0.45830.5-66.42
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 0.5, so for a causal system the ROC is |z| > 0.5, which contains the unit circle, so the system is stable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 100.7059
w = 1.159, the angle of the poles1.15931.3194
w = pi/2, the point z = j1.57081.2671
w = pi, the point z = -13.14160.8485
0pi/4pi/23pi/4pi00.751.5w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 1.3405 near w = 1.291, with |H| = 0.7059 at w = 0 and 0.8485 at w = pi. That makes it a high pass shape.

2081 Baishakh · Q43+7 marksPlot the pole-zero in z plane and draw the magnitude response (not to the scale) of the system described by difference equation y(n) = 0.67 x(n) - 0.3 x(n-1) + 2.75 y(n-1)

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^1 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 0.67 - 0.3z^-1 ) / ( 1 - 2.75z^-1 ) = ( 0.67z - 0.3 ) / ( z - 2.75 )
LocationMagnitudeAngle, degrees
zero, o0.44780.44780
pole, x2.752.750
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 2.75, so for a causal system the ROC is |z| > 2.75, which does not contain the unit circle, so the system is unstable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 100.2114
w = pi/2, the point z = j1.57080.2509
w = pi, the point z = -13.14160.2587
0pi/4pi/23pi/4pi00.140.29w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises monotonically, with |H| = 0.2114 at w = 0 and 0.2587 at w = pi. That makes it a high pass shape.

2080 Bhadra · Q43+7 marksPlot the pole-zero on the z-plane and draw Magnitude response (not to the scale) of an LTI system described by the equation, y(n) = x(n) + 0.8x(n-1) + 0.8x(n-2) + 0.49y(n-2).

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 + 0.8z^-1 + 0.8z^-2 ) / ( 1 - 0.49z^-2 ) = ( z^2 + 0.8z + 0.8 ) / ( z^2 - 0.49 )
LocationMagnitudeAngle, degrees
zero, o-0.4 + j0.80.8944116.57
zero, o-0.4 - j0.80.8944-116.57
pole, x-0.70.7180
pole, x0.70.70
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 0.7, so for a causal system the ROC is |z| > 0.7, which contains the unit circle, so the system is stable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 105.098
w = pi/2, the point z = j1.57080.5534
w = pi, the point z = -13.14161.9608
0pi/4pi/23pi/4pi02.855.71w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response falls monotonically, with |H| = 5.098 at w = 0 and 1.9608 at w = pi. That makes it a low pass shape.

2079 Bhadra · Q43+7 marksPlot the pole-zero in z-plane and draw the magnitude response (not to the scale) of the equation of the system describe by difference equation: y[n] - 0.35y[n-1] + 0.25y[n-2] = x[n] - 0.75x[n-1].

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 - 0.75z^-1 ) / ( 1 - 0.35z^-1 + 0.25z^-2 ) = ( z^2 - 0.75z ) / ( z^2 - 0.35z + 0.25 )
LocationMagnitudeAngle, degrees
zero, o0.750.750
zero, o000
pole, x0.175 + j0.46840.569.51
pole, x0.175 - j0.46840.5-69.51
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 0.5, so for a causal system the ROC is |z| > 0.5, which contains the unit circle, so the system is stable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 100.2778
w = 1.213, the angle of the poles1.21321.4387
w = pi/2, the point z = j1.57081.5103
w = pi, the point z = -13.14161.0938
0pi/4pi/23pi/4pi00.851.71w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 1.5251 near w = 1.456, with |H| = 0.2778 at w = 0 and 1.0938 at w = pi. That makes it a high pass shape.

2079 Baishakh · Q43+7 marksPlot pole-zero in z-plane and draw magnitude response (not to the scale) of the system described by difference equation y[n] - 0.3 y[n-1] + 0.2y[n-2] = x[n] - 0.5x[n-1].

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 - 0.5z^-1 ) / ( 1 - 0.3z^-1 + 0.2z^-2 ) = ( z^2 - 0.5z ) / ( z^2 - 0.3z + 0.2 )
LocationMagnitudeAngle, degrees
zero, o0.50.50
zero, o000
pole, x0.15 + j0.42130.447270.4
pole, x0.15 - j0.42130.4472-70.4
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 0.4472, so for a causal system the ROC is |z| > 0.4472, which contains the unit circle, so the system is stable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 100.5556
w = 1.229, the angle of the poles1.22881.2574
w = pi/2, the point z = j1.57081.3086
w = pi, the point z = -13.14161
0pi/4pi/23pi/4pi00.741.47w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 1.3142 near w = 1.482, with |H| = 0.5556 at w = 0 and 1 at w = pi. That makes it a high pass shape.

2078 Bhadra · Q52+4 marksPlot the pole-zero in z-plane and draw magnitude response (not to the scale) of the system described by difference equation. y[n] - 0.4 y[n-1] + 0.25 y[n-2] = x[n] - 0.4x[n-1]

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 - 0.4z^-1 ) / ( 1 - 0.4z^-1 + 0.25z^-2 ) = ( z^2 - 0.4z ) / ( z^2 - 0.4z + 0.25 )
LocationMagnitudeAngle, degrees
zero, o0.40.40
zero, o000
pole, x0.2 + j0.45830.566.42
pole, x0.2 - j0.45830.5-66.42
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 0.5, so for a causal system the ROC is |z| > 0.5, which contains the unit circle, so the system is stable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 100.7059
w = 1.159, the angle of the poles1.15931.3194
w = pi/2, the point z = j1.57081.2671
w = pi, the point z = -13.14160.8485
0pi/4pi/23pi/4pi00.751.5w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 1.3405 near w = 1.291, with |H| = 0.7059 at w = 0 and 0.8485 at w = pi. That makes it a high pass shape.

2076 Chaitra · Q52+6 marksDraw the pole-zero in the z-plane for a system with poles at 0.45 +/- j1.06 and zeroes at 0.58 +/- j2.06. Also plot the magnitude response (not to the scale) of the system.

The poles and zeros are given, so build H(z) from them: the numerator is the product of (z - zero) and the denominator the product of (z - pole). Conjugate pairs multiply out to real quadratics, which is why the coefficients come out real.

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 - 1.16z^-1 + 4.58z^-2 ) / ( 1 - 0.9z^-1 + 1.3261z^-2 ) = ( z^2 - 1.16z + 4.58 ) / ( z^2 - 0.9z + 1.3261 )
LocationMagnitudeAngle, degrees
zero, o0.58 + j2.062.140174.28
zero, o0.58 - j2.062.1401-74.28
pole, x0.45 + j1.061.151667
pole, x0.45 - j1.061.1516-67
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 1.1516, so for a causal system the ROC is |z| > 1.1516, which does not contain the unit circle, so the system is unstable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 103.0994
w = 1.169, the angle of the poles1.169311.4875
w = pi/2, the point z = j1.57083.9313
w = pi, the point z = -13.14162.0892
0pi/4pi/23pi/4pi06.4412.87w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 11.4954 near w = 1.165, with |H| = 3.0994 at w = 0 and 2.0892 at w = pi. That makes it a low pass shape.

2076 Ashwin · Q62+8 marksFor the system described by the following difference equation: y[n] = 0.67x[n] - 0.3x[n-1] + 2.75y[n-1]. Map the poles and zero in the z-plane and plot the phase response of the system.

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^1 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 0.67 - 0.3z^-1 ) / ( 1 - 2.75z^-1 ) = ( 0.67z - 0.3 ) / ( z - 2.75 )
LocationMagnitudeAngle, degrees
zero, o0.44780.44780
pole, x2.752.750
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 2.75, so for a causal system the ROC is |z| > 2.75, which does not contain the unit circle, so the system is unstable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 100.2114
w = pi/2, the point z = j1.57080.2509
w = pi, the point z = -13.14160.2587
0pi/4pi/23pi/4pi00.140.29w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises monotonically, with |H| = 0.2114 at w = 0 and 0.2587 at w = pi. That makes it a high pass shape.

2075 Chaitra · Q32+7 marksPlot the pole-zero in z-plane and draw magnitude response (not to scale) of the system described by differential equation y(n) - 0.3y(n-1) = 2x(n-2) + 0.7x(n-1) + 4x(n)

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 4 + 0.7z^-1 + 2z^-2 ) / ( 1 - 0.3z^-1 ) = ( 4z^2 + 0.7z + 2 ) / ( z^2 - 0.3z )
LocationMagnitudeAngle, degrees
zero, o-0.0875 + j0.70170.707197.11
zero, o-0.0875 - j0.70170.7071-97.11
pole, x0.30.30
pole, x000
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 0.3, so for a causal system the ROC is |z| > 0.3, which contains the unit circle, so the system is stable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 109.5714
w = pi/2, the point z = j1.57082.0296
w = pi, the point z = -13.14164.0769
0pi/4pi/23pi/4pi05.3610.72w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response falls monotonically, with |H| = 9.5714 at w = 0 and 4.0769 at w = pi. That makes it a low pass shape.

2075 Ashwin · Q42+8 marksDraw the poles and zeros in the z-plane for a system with poles at 0.45 +/- j1.06 and zeros at 0.58 +/- j2.06. Also plot the magnitude response of the system.

The poles and zeros are given, so build H(z) from them: the numerator is the product of (z - zero) and the denominator the product of (z - pole). Conjugate pairs multiply out to real quadratics, which is why the coefficients come out real.

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 - 1.16z^-1 + 4.58z^-2 ) / ( 1 - 0.9z^-1 + 1.3261z^-2 ) = ( z^2 - 1.16z + 4.58 ) / ( z^2 - 0.9z + 1.3261 )
LocationMagnitudeAngle, degrees
zero, o0.58 + j2.062.140174.28
zero, o0.58 - j2.062.1401-74.28
pole, x0.45 + j1.061.151667
pole, x0.45 - j1.061.1516-67
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 1.1516, so for a causal system the ROC is |z| > 1.1516, which does not contain the unit circle, so the system is unstable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 103.0994
w = 1.169, the angle of the poles1.169311.4875
w = pi/2, the point z = j1.57083.9313
w = pi, the point z = -13.14162.0892
0pi/4pi/23pi/4pi06.4412.87w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 11.4954 near w = 1.165, with |H| = 3.0994 at w = 0 and 2.0892 at w = pi. That makes it a low pass shape.

2074 Chaitra · Q42+8 marksThe poles of a system are located at: 0.45 - 0.77i and -2 +/- 0.3i. Map the poles and zero in the z-plane and plot the magnitude response of the system.

How this is readThe paper prints one pole of the first pair only. Real coefficients force poles into conjugate pairs, so read it as 0.45 +/- j0.77 together with -2 +/- j0.3. No zeros are given, so H(z) is all pole.

The poles and zeros are given, so build H(z) from them: the numerator is the product of (z - zero) and the denominator the product of (z - pole). Conjugate pairs multiply out to real quadratics, which is why the coefficients come out real.

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^4 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 ) / ( 1 + 3.1z^-1 + 1.2854z^-2 - 0.4994z^-3 + 3.2532z^-4 ) = ( z^4 ) / ( z^4 + 3.1z^3 + 1.2854z^2 - 0.4994z + 3.2532 )
LocationMagnitudeAngle, degrees
zero, o000
zero, o000
zero, o000
zero, o000
pole, x-2 + j0.32.0224171.47
pole, x-2 - j0.32.0224-171.47
pole, x0.45 + j0.770.891959.7
pole, x0.45 - j0.770.8919-59.7
ReIm1(2)(3)(4)
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 2.0224, so for a causal system the ROC is |z| > 2.0224, which does not contain the unit circle, so the system is unstable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 100.1229
w = 1.042, the angle of the poles1.04190.7981
w = pi/2, the point z = j1.57080.2144
w = pi, the point z = -13.14160.3404
0pi/4pi/23pi/4pi00.450.89w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 0.7983 near w = 1.045, with |H| = 0.1229 at w = 0 and 0.3404 at w = pi. That makes it a high pass shape.

2074 Ashwin · Q43+7 marksPlot the pole-zero in z-plane and Draw Magnitude Response (not to the scale) of the system described by difference equation y[n] - 0.4y[n-1] + 0.2y[n-2] = x[n] + 0.5x[n-1] + 0.6x[n-2] + 0.8x[n-3]

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^3 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 + 0.5z^-1 + 0.6z^-2 + 0.8z^-3 ) / ( 1 - 0.4z^-1 + 0.2z^-2 ) = ( z^3 + 0.5z^2 + 0.6z + 0.8 ) / ( z^3 - 0.4z^2 + 0.2z )
LocationMagnitudeAngle, degrees
zero, o0.1845 + j0.94160.959578.91
zero, o0.1845 - j0.94160.9595-78.91
zero, o-0.8690.869180
pole, x0.2 + j0.40.447263.43
pole, x0.2 - j0.40.4472-63.43
pole, x000
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 0.4472, so for a causal system the ROC is |z| > 0.4472, which contains the unit circle, so the system is stable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 103.625
w = 1.107, the angle of the poles1.10711.0815
w = pi/2, the point z = j1.57080.559
w = pi, the point z = -13.14160.1875
0pi/4pi/23pi/4pi02.034.06w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response falls monotonically, with |H| = 3.625 at w = 0 and 0.1875 at w = pi. That makes it a low pass shape.

2072 Chaitra · Q52+4 marksPlot the pole-zero in z-plane and Draw Magnitude Response (not to the scale) of the system described by difference equation. y[n] - 0.4y[n-1] + 0.1y[n-2] = x[n] + 0.6x[n-1]

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 + 0.6z^-1 ) / ( 1 - 0.4z^-1 + 0.1z^-2 ) = ( z^2 + 0.6z ) / ( z^2 - 0.4z + 0.1 )
LocationMagnitudeAngle, degrees
zero, o-0.60.6180
zero, o000
pole, x0.2 + j0.24490.316250.77
pole, x0.2 - j0.24490.3162-50.77
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 0.3162, so for a causal system the ROC is |z| > 0.3162, which contains the unit circle, so the system is stable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 102.2857
w = 0.886, the angle of the poles0.88611.9223
w = pi/2, the point z = j1.57081.1841
w = pi, the point z = -13.14160.2667
0pi/4pi/23pi/4pi01.282.56w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response falls monotonically, with |H| = 2.2857 at w = 0 and 0.2667 at w = pi. That makes it a low pass shape.

2072 Kartik · Q56 marksPlot Magnitude Response (not to the scale) of the system described by difference equation. y[n] - 0.5y[n-1] + 0.3y[n-2] = x[n] + 0.7x[n-1]

Take the z-transform of the difference equation, form H(z), then multiply above and below by z^2 so both are positive powers of z. The roots of the numerator are the zeros and the roots of the denominator are the poles.

H(z) = ( 1 + 0.7z^-1 ) / ( 1 - 0.5z^-1 + 0.3z^-2 ) = ( z^2 + 0.7z ) / ( z^2 - 0.5z + 0.3 )
LocationMagnitudeAngle, degrees
zero, o-0.70.7180
zero, o000
pole, x0.25 + j0.48730.547762.84
pole, x0.25 - j0.48730.5477-62.84
ReIm1
Poles marked x, zeros marked o, and the unit circle dashed.

The largest pole magnitude is 0.5477, so for a causal system the ROC is |z| > 0.5477, which contains the unit circle, so the system is stable.

Now the magnitude, from the geometry: |H| at a point on the unit circle is the product of the distances to the zeros divided by the product of the distances to the poles. Near a pole the response peaks, near a zero it dips, and anything at the origin changes only the phase.

Wherew|H(e^jw)|
w = 0, the point z = 102.125
w = 1.097, the angle of the poles1.09682.3168
w = pi/2, the point z = j1.57081.419
w = pi, the point z = -13.14160.1667
0pi/4pi/23pi/4pi01.372.74w, radians per sample
|H(e^jw)|, drawn from the computed response. The shape is what the question wants; the scale is a bonus.

The response rises to a peak of 2.4438 near w = 0.877, with |H| = 2.125 at w = 0 and 0.1667 at w = pi. That makes it a low pass shape.

Convolution TOP 15/19

Ch 1 · Signals and systems15 questions, from 15 of the 19 sittings

The procedure, the same for every question in this topic
THE SUM y[n] = sum over k of x[k] h[n-k] TABULAR x along the top, h down the side, fill with products, add along the ANTI DIAGONALS. Fastest for two short finite sequences. GRAPHICAL fold h[k] to h[-k], slide by n, multiply the overlap, add. This is what "using graphical method" means. ANALYTICAL for sequences containing u[n], write the sum, fix the limits from where BOTH are non zero, and sum the geometric series. POSITION x runs n1..n2, h runs m1..m2 y runs n1+m1 .. n2+m2, and has Nx + Nh - 1 samples
  • Read the gate before anything else. h[n] = (1/2)^n {u[n+2] - u[n-2]} runs over n = -2, -1, 0, 1 and takes the values 4, 2, 1, 0.5. An off by one here loses the whole question.
  • A sequence of impulses is a sequence. 2delta[n+1] + 2delta[n-1] is just {2, 0, 2} starting at n = -1.
  • An infinite sequence is not a table. If either side runs to infinity, do it analytically: split into the region where the overlap is still growing and the region where it is complete.
Every answer in this topic
PaperQMarksThe answer
2082 BhadraQ25y[n] = {2, 2, 1.5, -0.5, -0.375, -0.25} for n = 0 to 5. The check holds: the samples of x add to 2.5, those of h add to 1.75, and 2.5 × 1.75 = 4.375, which is the sum of y.
2081 BhadraQ25y[n] = {2, 4, 2, 2, 0, -2} for n = -1 to 4. The check holds: the samples of x add to 2, those of h add to 4, and 2 × 4 = 8, which is the sum of y.
2081 BaishakhQ26y[n] = 46656 (1/6)^n [ 2^(n+1) - 8 ] for n >= 3, and zero before that. It starts at y[3] = 1728 and decays like (1/3)^n, since the (1/6)^n and the 2^n combine to (1/3)^n.
2079 BhadraQ25y[n] = {2, 4, 2, 2, 0, -2} for n = -1 to 4. The check holds: the samples of x add to 2, those of h add to 4, and 2 × 4 = 8, which is the sum of y.
2079 BaishakhQ25y[n] = {8, 8, 4, -2, 14.5, 7, 3.5, 2} for n = -2 to 5. The check holds: the samples of x add to 6, those of h add to 7.5, and 6 × 7.5 = 45, which is the sum of y.
2078 BhadraQ25y[n] = 2 - (1/2)^n for 0 <= n <= 3, and 15 (1/2)^n for n >= 3, zero before. The two expressions agree at n = 3, where both give 1.875, which is the check worth writing.
2076 ChaitraQ36y[n] = 1 - (1/2)^(n+1) for 0 <= n <= 4, and 15.5 (1/2)^n for n >= 4. Both give 0.96875 at n = 4, which is the check.
2076 AshwinQ26y[n] = a^|n| / (1 - a) for n < 0, and 1/(1 - a) for n >= 0: it rises like the exponential and then holds flat, which is what convolving anything with a unit step does, since the step accumulates. The check above uses a = 0.5, giving a plateau of 2.
2075 ChaitraQ25+2y[n] = {1.5, 3, 7, 14.5, 29, 10, 20, 8} for n = -3 to 4. The check holds: the samples of x add to 15.5, those of h add to 6, and 15.5 × 6 = 93, which is the sum of y.
2075 AshwinQ25y[n] = {1, 3, 7, 6, 4} for n = 0 to 4. The check holds: the samples of x add to 3, those of h add to 7, and 3 × 7 = 21, which is the sum of y.
2074 AshwinQ23+2y[n] = {8, 8, 6, -1, -1, -0.75, -0.5} for n = -2 to 4. The check holds: the samples of x add to 2.5, those of h add to 7.5, and 2.5 × 7.5 = 18.75, which is the sum of y.
2073 ShrawanQ26y[n] = {1, 2, 3, 3, 2, 1} for n = 0 to 5. The check holds: the samples of x add to 4, those of h add to 3, and 4 × 3 = 12, which is the sum of y.
2072 ChaitraQ23+2y[n] = {0.5, 0, 3, 4.5, 4, 12, 9} for n = -2 to 4. The check holds: the samples of x add to 5.5, those of h add to 6, and 5.5 × 6 = 33, which is the sum of y.
2072 KartikQ25y[n] = {6, 5, 3.1667, 9.8333, 3.1667, 1} for n = -1 to 4. The check holds: the samples of x add to 6.5, those of h add to 4.3333, and 6.5 × 4.3333 = 28.1667, which is the sum of y.
2071 ShrawanQ14+5xe[n] = {1.5, 1.5, 1.5, 1.5, 1, 1.5, 1.5, 1.5, 1.5} and xo[n] = {-0.5, -0.5, -0.5, -0.5, 0, 0.5, 0.5, 0.5, 0.5}, both for n = -4 to 4. The two checks hold: xo[0] = 0, and xe[n] + xo[n] returns x[n] at every n. y[n] = {1, 2, 3, 2, 1} for n = -2 to 2. The check holds: the samples of x add to 3, those of h add to 3, and 3 × 3 = 9, which is the sum of y.
The checks that cost nothing
  • The sums multiply. (sum of x) times (sum of h) equals the sum of y. One line, catches almost everything.
  • Length and position. Nx + Nh - 1 samples, starting at n1 + m1. If your answer is the wrong length you have dropped a term.
  • Two regions must agree at the join when the answer was split into a rising part and a falling part. Evaluate both at the boundary n.
2082 Bhadra · Q25 marksFind the output of an LTI system whose impulse response is given by 0.5^n{u[n]-u[n-3]} and input is given by {2, 1, 0.5, -1}.

How this is readh[n] = 0.5^n {u[n] - u[n-3]} is the exponential kept for n = 0, 1, 2 only, so h[n] = {1, 0.5, 0.25}.

x[n] runs from n = 0 to 3, 4 samples; h[n] runs from n = 0 to 2, 3 samples. So y[n] runs from n = 0 to 5, which is 4 + 3 - 1 = 6 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[0]=1h[1]=0.5h[2]=0.25
x[0]=2210.5
x[1]=110.50.25
x[2]=0.50.50.250.125
x[3]=-1-1-0.5-0.25
y[0] = 2 = 2 y[1] = 1 + 1 = 2 y[2] = 0.5 + 0.5 + 0.5 = 1.5 y[3] = 0.25 + 0.25 + -1 = -0.5 y[4] = 0.125 + -0.5 = -0.375 y[5] = -0.25 = -0.25

y[n] = {2, 2, 1.5, -0.5, -0.375, -0.25} for n = 0 to 5. The check holds: the samples of x add to 2.5, those of h add to 1.75, and 2.5 × 1.75 = 4.375, which is the sum of y.

2081 Bhadra · Q25 marksFind the output of an LTI System with impulse response h[n] = 2delta[n+1] + 2delta[n-1] when an input of x[n] = delta[n] + 2delta[n-1] - delta[n-3] is applied to it.

How this is readh[n] = 2delta[n+1] + 2delta[n-1] is {2, 0, 2} starting at n = -1; x[n] = delta[n] + 2delta[n-1] - delta[n-3] is {1, 2, 0, -1} from n = 0.

What is different in this one
  • One of the sequences starts at a negative n, so the output starts at n = -1, not at zero. Mark the origin on the answer or the plot is wrong even when the numbers are right.
  • There is a zero sample in the middle of one sequence. It still occupies an index: dropping it shortens the answer and shifts everything after it.

x[n] runs from n = 0 to 3, 4 samples; h[n] runs from n = -1 to 1, 3 samples. So y[n] runs from n = -1 to 4, which is 4 + 3 - 1 = 6 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[-1]=2h[0]=0h[1]=2
x[0]=1202
x[1]=2404
x[2]=0000
x[3]=-1-20-2
y[-1] = 2 = 2 y[0] = 4 = 4 y[1] = 2 = 2 y[2] = 4 + -2 = 2 y[3] = 0 = 0 y[4] = -2 = -2

y[n] = {2, 4, 2, 2, 0, -2} for n = -1 to 4. The check holds: the samples of x add to 2, those of h add to 4, and 2 × 4 = 8, which is the sum of y.

2081 Baishakh · Q26 marksFind the output y(n) of LTI system having impulse response h(n) = (1/3)^n u(n-3) and input x(n) = (1/6)^(n-6) u(n).

Neither sequence is finite, so this is an analytical convolution, not a table.

h[k] = (1/3)^k for k >= 3, x[m] = (1/6)^(m-6) u[m] = 6^6 (1/6)^m for m >= 0 y[n] = sum over k of h[k] x[n-k] h needs k >= 3 and x needs n - k >= 0, so k runs from 3 to n, and y[n] = 0 for n < 3. n y[n] = 6^6 SUM (1/3)^k (1/6)^(n-k) k=3 n = 6^6 (1/6)^n SUM (6/3)^k k=3 n = 46656 (1/6)^n [ 2^(n+1) - 2^3 ] since SUM 2^k = 2^(n+1) - 8 k=3

Check the closed form against the convolution sum carried out term by term, at several n. They agree, which is what makes the closed form an answer rather than a guess.

nsum over k of h[k] x[n-k]the closed form
317281728
4864864
5336336
6120120
81414
101.574071.57407

y[n] = 46656 (1/6)^n [ 2^(n+1) - 8 ] for n >= 3, and zero before that. It starts at y[3] = 1728 and decays like (1/3)^n, since the (1/6)^n and the 2^n combine to (1/3)^n.

2079 Bhadra · Q25 marksFind the output of LTI system having input signal x[n] = delta[n] + 2delta[n-1] - delta[n-3] and h[n] = 2delta[n+1] + 2delta[n-1].
What is different in this one
  • One of the sequences starts at a negative n, so the output starts at n = -1, not at zero. Mark the origin on the answer or the plot is wrong even when the numbers are right.
  • There is a zero sample in the middle of one sequence. It still occupies an index: dropping it shortens the answer and shifts everything after it.

x[n] runs from n = 0 to 3, 4 samples; h[n] runs from n = -1 to 1, 3 samples. So y[n] runs from n = -1 to 4, which is 4 + 3 - 1 = 6 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[-1]=2h[0]=0h[1]=2
x[0]=1202
x[1]=2404
x[2]=0000
x[3]=-1-20-2
y[-1] = 2 = 2 y[0] = 4 = 4 y[1] = 2 = 2 y[2] = 4 + -2 = 2 y[3] = 0 = 0 y[4] = -2 = -2

y[n] = {2, 4, 2, 2, 0, -2} for n = -1 to 4. The check holds: the samples of x add to 2, those of h add to 4, and 2 × 4 = 8, which is the sum of y.

2079 Baishakh · Q25 marksFind the output of LTI system having impulse response h[n] = (1/2)^n {u[n+2] - u[n-2]} to the input x[n] = {2, 1, 0, -1, 4}.

How this is readh[n] = (1/2)^n {u[n+2] - u[n-2]} runs over n = -2, -1, 0, 1, taking the values 4, 2, 1 and 0.5.

What is different in this one
  • One of the sequences starts at a negative n, so the output starts at n = -2, not at zero. Mark the origin on the answer or the plot is wrong even when the numbers are right.
  • There is a zero sample in the middle of one sequence. It still occupies an index: dropping it shortens the answer and shifts everything after it.

x[n] runs from n = 0 to 4, 5 samples; h[n] runs from n = -2 to 1, 4 samples. So y[n] runs from n = -2 to 5, which is 5 + 4 - 1 = 8 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[-2]=4h[-1]=2h[0]=1h[1]=0.5
x[0]=28421
x[1]=14210.5
x[2]=00000
x[3]=-1-4-2-1-0.5
x[4]=416842
y[-2] = 8 = 8 y[-1] = 4 + 4 = 8 y[0] = 2 + 2 = 4 y[1] = 1 + 1 + -4 = -2 y[2] = 0.5 + -2 + 16 = 14.5 y[3] = -1 + 8 = 7 y[4] = -0.5 + 4 = 3.5 y[5] = 2 = 2

y[n] = {8, 8, 4, -2, 14.5, 7, 3.5, 2} for n = -2 to 5. The check holds: the samples of x add to 6, those of h add to 7.5, and 6 × 7.5 = 45, which is the sum of y.

2078 Bhadra · Q25 marksFind the output of LTI system having impulse response h[n] = u[n] - u[n-4] and input signal x[n] = (1/2)^n u[n].

h[n] is a four sample rectangle and x[n] is an infinite exponential, so the answer has two regions: while the rectangle is still sliding onto the input, and after it is fully overlapped.

h[n] = u[n] - u[n-4] = 1 for n = 0, 1, 2, 3 x[n] = (1/2)^n u[n] 3 y[n] = sum h[k] x[n-k] = SUM (1/2)^(n-k), keeping only n - k >= 0 k=0 PARTIAL OVERLAP, 0 <= n <= 3: k runs 0..n y[n] = sum from j=0 to n of (1/2)^j = 2 - (1/2)^n FULL OVERLAP, n >= 3: k runs 0..3 y[n] = (1/2)^n sum from k=0 to 3 of 2^k = 15 (1/2)^n

Check the closed form against the convolution sum carried out term by term, at several n. They agree, which is what makes the closed form an answer rather than a guess.

nsum over k of h[k] x[n-k]the closed form
011
11.51.5
21.751.75
31.8751.875
40.93750.9375
50.468750.46875
80.058590.05859

y[n] = 2 - (1/2)^n for 0 <= n <= 3, and 15 (1/2)^n for n >= 3, zero before. The two expressions agree at n = 3, where both give 1.875, which is the check worth writing.

2076 Chaitra · Q36 marksFind the output of LTI system having input signal x[n] = u[n+1] - u[n-4] and impulse response h[n] = (1/2)^n u[n-1].

x[n] is a five sample rectangle from n = -1 and h[n] is an infinite exponential that starts at n = 1, so again there are two regions.

x[n] = u[n+1] - u[n-4] = 1 for n = -1 .. 3 h[n] = (1/2)^n u[n-1] = (1/2)^n for n >= 1 y[n] = sum over k of x[k] h[n-k], needing -1 <= k <= 3 and n - k >= 1 so k runs from -1 to min(3, n-1), and y[n] = 0 for n < 0 K y[n] = (1/2)^n SUM 2^k with K = min(3, n-1) k=-1 RISING, 0 <= n <= 4: K = n-1, sum = 2^n - 0.5 y[n] = 1 - (1/2)^(n+1) FALLING, n >= 4: K = 3, sum = 16 - 0.5 = 15.5 y[n] = 15.5 (1/2)^n

Check the closed form against the convolution sum carried out term by term, at several n. They agree, which is what makes the closed form an answer rather than a guess.

nsum over k of h[k] x[n-k]the closed form
00.50.5
10.750.75
20.8750.875
30.93750.9375
40.968750.96875
50.484380.48438
70.121090.12109

y[n] = 1 - (1/2)^(n+1) for 0 <= n <= 4, and 15.5 (1/2)^n for n >= 4. Both give 0.96875 at n = 4, which is the check.

2076 Ashwin · Q26 marksFind convolution between two signals x[n] = 2^n 4[-n], 0 < a < 1 and h[n] = 4[n]

The scan has mangled this one: the u has come out as a 4, and the base as a 2. It reads x[n] = a^n u[-n] with 0 < a < 1, and h[n] = u[n].

As printed the convolution diverges. x[n] = a^n u[-n] is non zero for n <= 0, where a^n = (1/a)^|n| grows without bound for a below 1, so the sum has no finite value. The reading that makes the question work, and the one every textbook sets, is the decaying left sided exponential x[n] = a^|n| u[-n]. Solved that way:

x[k] = a^(-k) for k <= 0, h[m] = 1 for m >= 0 y[n] = sum over k of x[k] h[n-k], needing k <= 0 and k <= n n >= 0: k runs from -inf to 0 y[n] = sum from m=0 to inf of a^m = 1 / (1 - a) n < 0: k runs from -inf to n y[n] = sum from m=|n| to inf of a^m = a^|n| / (1 - a)

Check the closed form against the convolution sum carried out term by term, at several n. They agree, which is what makes the closed form an answer rather than a guess.

nsum over k of h[k] x[n-k]the closed form
-40.1250.125
-20.50.5
-111
022
122
322

y[n] = a^|n| / (1 - a) for n < 0, and 1/(1 - a) for n >= 0: it rises like the exponential and then holds flat, which is what convolving anything with a unit step does, since the step accumulates. The check above uses a = 0.5, giving a plateau of 2.

2075 Chaitra · Q25+2 marksFind the output of LTI system having impulse response h[n] with h[-2] = 3, h[0] = 2, h[1] = 1 and input signal x[n] = (2)^n, for -1 <= n <= 3. Also check the answer.

How this is readh has h[-2] = 3, h[0] = 2, h[1] = 1 and nothing else, so h = {3, 0, 2, 1} from n = -2. x[n] = 2^n over -1 <= n <= 3 is {0.5, 1, 2, 4, 8} from n = -1.

What is different in this one
  • One of the sequences starts at a negative n, so the output starts at n = -3, not at zero. Mark the origin on the answer or the plot is wrong even when the numbers are right.
  • There is a zero sample in the middle of one sequence. It still occupies an index: dropping it shortens the answer and shifts everything after it.

x[n] runs from n = -1 to 3, 5 samples; h[n] runs from n = -2 to 1, 4 samples. So y[n] runs from n = -3 to 4, which is 5 + 4 - 1 = 8 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[-2]=3h[-1]=0h[0]=2h[1]=1
x[-1]=0.51.5010.5
x[0]=13021
x[1]=26042
x[2]=412084
x[3]=8240168
y[-3] = 1.5 = 1.5 y[-2] = 3 = 3 y[-1] = 1 + 6 = 7 y[0] = 0.5 + 2 + 12 = 14.5 y[1] = 1 + 4 + 24 = 29 y[2] = 2 + 8 = 10 y[3] = 4 + 16 = 20 y[4] = 8 = 8

y[n] = {1.5, 3, 7, 14.5, 29, 10, 20, 8} for n = -3 to 4. The check holds: the samples of x add to 15.5, those of h add to 6, and 15.5 × 6 = 93, which is the sum of y.

2075 Ashwin · Q25 marksFind the output of LTI system having impulse response h[n] = 2^n {u[n] - u[n-3]} and input signal x[n] = delta[n] + delta[n-1] + delta[n-2].

How this is readh[n] = 2^n {u[n] - u[n-3]} is {1, 2, 4} over n = 0, 1, 2, and x[n] = delta[n] + delta[n-1] + delta[n-2] is {1, 1, 1}.

What is different in this one
  • Both sequences are the same length, so the table is square and the answer is symmetric in the two if the sequences are.

x[n] runs from n = 0 to 2, 3 samples; h[n] runs from n = 0 to 2, 3 samples. So y[n] runs from n = 0 to 4, which is 3 + 3 - 1 = 5 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[0]=1h[1]=2h[2]=4
x[0]=1124
x[1]=1124
x[2]=1124
y[0] = 1 = 1 y[1] = 2 + 1 = 3 y[2] = 4 + 2 + 1 = 7 y[3] = 4 + 2 = 6 y[4] = 4 = 4

y[n] = {1, 3, 7, 6, 4} for n = 0 to 4. The check holds: the samples of x add to 3, those of h add to 7, and 3 × 7 = 21, which is the sum of y.

2074 Ashwin · Q23+2 marksFind the output of LTI system having impulse response h[n] = (1/2)^n {u[n+2] - u[n-2]} and input signal x[n] = {2, 1, 0.5, -1}. Also check the answer.
What is different in this one
  • One of the sequences starts at a negative n, so the output starts at n = -2, not at zero. Mark the origin on the answer or the plot is wrong even when the numbers are right.
  • Both sequences are the same length, so the table is square and the answer is symmetric in the two if the sequences are.

x[n] runs from n = 0 to 3, 4 samples; h[n] runs from n = -2 to 1, 4 samples. So y[n] runs from n = -2 to 4, which is 4 + 4 - 1 = 7 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[-2]=4h[-1]=2h[0]=1h[1]=0.5
x[0]=28421
x[1]=14210.5
x[2]=0.5210.50.25
x[3]=-1-4-2-1-0.5
y[-2] = 8 = 8 y[-1] = 4 + 4 = 8 y[0] = 2 + 2 + 2 = 6 y[1] = 1 + 1 + 1 + -4 = -1 y[2] = 0.5 + 0.5 + -2 = -1 y[3] = 0.25 + -1 = -0.75 y[4] = -0.5 = -0.5

y[n] = {8, 8, 6, -1, -1, -0.75, -0.5} for n = -2 to 4. The check holds: the samples of x add to 2.5, those of h add to 7.5, and 2.5 × 7.5 = 18.75, which is the sum of y.

2073 Shrawan · Q26 marksDetermine the system output y(n) of the following signals: h(n) = {1, 1, 1} and x(n) = {1, 1, 1, 1}

x[n] runs from n = 0 to 3, 4 samples; h[n] runs from n = 0 to 2, 3 samples. So y[n] runs from n = 0 to 5, which is 4 + 3 - 1 = 6 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[0]=1h[1]=1h[2]=1
x[0]=1111
x[1]=1111
x[2]=1111
x[3]=1111
y[0] = 1 = 1 y[1] = 1 + 1 = 2 y[2] = 1 + 1 + 1 = 3 y[3] = 1 + 1 + 1 = 3 y[4] = 1 + 1 = 2 y[5] = 1 = 1

y[n] = {1, 2, 3, 3, 2, 1} for n = 0 to 5. The check holds: the samples of x add to 4, those of h add to 3, and 4 × 3 = 12, which is the sum of y.

2072 Chaitra · Q23+2 marksFind the output of LTI system having impulse response h[n] with h[-2] = 1, h[0] = 2, h[1] = 3 and input signal x[n] with x[0] = 1/2, x[2] = 2, x[3] = 3. Also check the answer.

How this is readh[-2] = 1, h[0] = 2, h[1] = 3 gives h = {1, 0, 2, 3} from n = -2; x[0] = 1/2, x[2] = 2, x[3] = 3 gives x = {0.5, 0, 2, 3} from n = 0.

What is different in this one
  • One of the sequences starts at a negative n, so the output starts at n = -2, not at zero. Mark the origin on the answer or the plot is wrong even when the numbers are right.
  • Both sequences are the same length, so the table is square and the answer is symmetric in the two if the sequences are.
  • There is a zero sample in the middle of one sequence. It still occupies an index: dropping it shortens the answer and shifts everything after it.

x[n] runs from n = 0 to 3, 4 samples; h[n] runs from n = -2 to 1, 4 samples. So y[n] runs from n = -2 to 4, which is 4 + 4 - 1 = 7 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[-2]=1h[-1]=0h[0]=2h[1]=3
x[0]=0.50.5011.5
x[1]=00000
x[2]=22046
x[3]=33069
y[-2] = 0.5 = 0.5 y[-1] = 0 = 0 y[0] = 1 + 2 = 3 y[1] = 1.5 + 3 = 4.5 y[2] = 4 = 4 y[3] = 6 + 6 = 12 y[4] = 9 = 9

y[n] = {0.5, 0, 3, 4.5, 4, 12, 9} for n = -2 to 4. The check holds: the samples of x add to 5.5, those of h add to 6, and 5.5 × 6 = 33, which is the sum of y.

2072 Kartik · Q25 marksFind the output of LTI system having impulse response h[n] = (1/3)^n {u[n+1] - u[n-2]} and input signal x[n] = {2, 1, 0.5, 3}.

How this is readh[n] = (1/3)^n {u[n+1] - u[n-2]} runs over n = -1, 0, 1 with the values 3, 1 and 1/3.

What is different in this one
  • One of the sequences starts at a negative n, so the output starts at n = -1, not at zero. Mark the origin on the answer or the plot is wrong even when the numbers are right.

x[n] runs from n = 0 to 3, 4 samples; h[n] runs from n = -1 to 1, 3 samples. So y[n] runs from n = -1 to 4, which is 4 + 3 - 1 = 6 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[-1]=3h[0]=1h[1]=0.3333
x[0]=2620.6667
x[1]=1310.3333
x[2]=0.51.50.50.1667
x[3]=3931
y[-1] = 6 = 6 y[0] = 2 + 3 = 5 y[1] = 0.6667 + 1 + 1.5 = 3.1667 y[2] = 0.3333 + 0.5 + 9 = 9.8333 y[3] = 0.1667 + 3 = 3.1667 y[4] = 1 = 1

y[n] = {6, 5, 3.1667, 9.8333, 3.1667, 1} for n = -1 to 4. The check holds: the samples of x add to 6.5, those of h add to 4.3333, and 6.5 × 4.3333 = 28.1667, which is the sum of y.

2071 Shrawan · Q14+5 marksFind the odd and even part of the following signal: [a stem plot of x[n] with values 1 at n = -4, -3, -2, -1 and 0, and 2 at n = 1, 2, 3, 4]. A discrete time LTI system has input signal and impulse response as, x[n] = 1 for -1 <= n <= 1 and 0 elsewhere, and h[n] = 1 for -1 <= n <= 1 and 0 elsewhere. Find the output of the system using graphical method.

How this is readThe stem plot is x[n] = 1 for n = -4 to 0 and 2 for n = 1 to 4. The second half convolves two identical three sample rectangles, each from n = -1 to 1.

The even and odd parts

Tabulate x[n] against n, write x[-n] under it by reversing about n = 0, then halve the sum and the difference.

n-4-3-2-101234
x[n]111112222
x[-n]222211111
xe[n]1.51.51.51.511.51.51.51.5
xo[n]-0.5-0.5-0.5-0.500.50.50.50.5

xe[n] = {1.5, 1.5, 1.5, 1.5, 1, 1.5, 1.5, 1.5, 1.5} and xo[n] = {-0.5, -0.5, -0.5, -0.5, 0, 0.5, 0.5, 0.5, 0.5}, both for n = -4 to 4. The two checks hold: xo[0] = 0, and xe[n] + xo[n] returns x[n] at every n.

The output, by the graphical method

What is different in this one
  • One of the sequences starts at a negative n, so the output starts at n = -2, not at zero. Mark the origin on the answer or the plot is wrong even when the numbers are right.
  • Both sequences are the same length, so the table is square and the answer is symmetric in the two if the sequences are.

x[n] runs from n = -1 to 1, 3 samples; h[n] runs from n = -1 to 1, 3 samples. So y[n] runs from n = -2 to 2, which is 3 + 3 - 1 = 5 samples.

Multiply every sample of one by every sample of the other and add along the anti diagonals, which is the tabular method:

h[-1]=1h[0]=1h[1]=1
x[-1]=1111
x[0]=1111
x[1]=1111
y[-2] = 1 = 1 y[-1] = 1 + 1 = 2 y[0] = 1 + 1 + 1 = 3 y[1] = 1 + 1 = 2 y[2] = 1 = 1

y[n] = {1, 2, 3, 2, 1} for n = -2 to 2. The check holds: the samples of x add to 3, those of h add to 3, and 3 × 3 = 9, which is the sum of y.

Butterworth IIR design TOP 11/19

Ch 6 · IIR design11 questions, from 11 of the 19 sittings

The procedure, the same for every question in this topic
1 DIGITAL EDGES w = 2 pi f / fs, if the question gives Hz. 2 PREWARP Wp = (2/T) tan(wp/2), Ws = (2/T) tan(ws/2) (impulse invariance instead: W = w/T, a straight scaling) 3 ORDER log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) ROUND UP. Never down. 4 CUT OFF Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) exact at wp Wc = Ws / (10^(0.1 As) - 1)^(1/2N) exact at ws 5 PROTOTYPE poles evenly spaced on a circle of radius Wc, LEFT half plane only: sk = Wc exp( j pi (2k + N + 1) / 2N ) 6 TRANSFORM s = (2/T)(1 - z^-1)/(1 + z^-1) 7 Simplify, and check H(e^j0) = 1.
  • Turn ripples into decibels first. |H| >= 0.9 means Ap = -20 log10(0.9) = 0.9151 dB; |H| <= 0.2 means As = 13.9794 dB; "1 dB below 0 dB gain" already is Ap.
  • T comes from the sampling frequency. fs = 1 Hz gives T = 1, fs = 0.5 Hz gives T = 2. If every critical frequency is prewarped with the same T it cancels, but say so rather than letting it vanish.
Every answer in this topic
PaperQMarksThe answer
2080 BhadraQ812N = 3, Wc = 2.5467 rad/s, and H(z) = ( 0.2332 + 0.6996z^-1 + 0.6996z^-2 + 0.2332z^-3 ) / ( 1 + 0.4394z^-1 + 0.3845z^-2 + 0.0416z^-3 ). The specification is met at both edges.
2080 BaishakhQ911N = 3, Wc = 0.5431 rad/s, and H(z) = ( 0.0565 + 0.1694z^-1 + 0.1694z^-2 + 0.0565z^-3 ) / ( 1 - 1.0634z^-1 + 0.6363z^-2 - 0.1211z^-3 ). The specification is met at both edges.
2076 ChaitraQ1010N = 5, Wc = 9331.8639 rad/s, and H(z) = ( 0.011 + 0.0549z^-1 + 0.1098z^-2 + 0.1098z^-3 + 0.0549z^-4 + 0.011z^-5 ) / ( 1 - 1.617z^-1 + 1.5544z^-2 - 0.7829z^-3 + 0.2231z^-4 - 0.0263z^-5 ). The specification is met at both edges.
2076 AshwinQ712N = 2, Wc = 0.503 rad/s, and H(z) = ( 0.1288 + 0.2576z^-1 + 0.1288z^-2 ) / ( 1 - 0.7606z^-1 + 0.2757z^-2 ). The specification is met at both edges.
2075 ChaitraQ710N = 2, Wc = 0.7504 rad/s, and H(z) = ( 0.0842 + 0.1684z^-1 + 0.0842z^-2 ) / ( 1 - 1.0282z^-1 + 0.3651z^-2 ). The specification is met at both edges.
2075 AshwinQ612N = 2, Wc = 0.7425 rad/s, and H(z) = ( 0.0829 + 0.1658z^-1 + 0.0829z^-2 ) / ( 1 - 1.037z^-1 + 0.3685z^-2 ). The specification is met at both edges.
2074 ChaitraQ712N = 2, Wc = 0.7287 rad/s, and H(z) = ( 0.3033z^-1 ) / ( 1 - 1.0396z^-1 + 0.3568z^-2 ). The specification is met at the passband edge and exceeded at the stopband edge, as rounding the order up guarantees.
2074 AshwinQ815N = 3, Wc = 0.5643 rad/s, and H(z) = ( 0.061 + 0.183z^-1 + 0.183z^-2 + 0.061z^-3 ) / ( 1 - 1.0026z^-1 + 0.6022z^-2 - 0.1116z^-3 ). The specification is met at both edges.
2073 ShrawanQ812N = 6, Wc = 0.7273 rad/s, and H(z) = ( 0.0006 + 0.0035z^-1 + 0.0087z^-2 + 0.0116z^-3 + 0.0087z^-4 + 0.0035z^-5 + 0.0006z^-6 ) / ( 1 - 3.3143z^-1 + 4.9501z^-2 - 4.1433z^-3 + 2.0275z^-4 - 0.5458z^-5 + 0.0628z^-6 ). The specification is met at both edges.
2072 KartikQ915N = 4, Wc = 0.9809 rad/s, and H(z) = ( 0.0167 + 0.0667z^-1 + 0.1001z^-2 + 0.0667z^-3 + 0.0167z^-4 ) / ( 1 - 1.6476z^-1 + 1.3563z^-2 - 0.5252z^-3 + 0.0834z^-4 ). The specification is met at both edges.
2071 ShrawanQ815N = 3, Wc = 0.814 rad/s, and H(z) = ( 0.0305 + 0.0914z^-1 + 0.0914z^-2 + 0.0305z^-3 ) / ( 1 - 1.4826z^-1 + 0.9296z^-2 - 0.2033z^-3 ). The specification is met at both edges.
The checks that cost nothing
  • N lands between 2 and 6 in every one of these papers. A large N means the prewarping went wrong.
  • Wc lies between Wp and Ws. If it does not, the order or the cut off formula was misapplied.
  • Substitute z = 1 into the finished H(z): a low pass filter must give 1.
  • Check both edges of the finished digital filter against the specification it was built for. Rounding the order up means the stopband is always beaten, never just met.
2080 Bhadra · Q812 marksUsing Bilinear transformation, design a Butterworth low pass filter which satisfies following conditions: 0.9 <= |H(e^jw)| <= 1 for 0 <= w <= pi/2; |H(e^jw)| <= 0.2 for 3pi/4 <= w <= pi. Consider sampling frequency of 1 Hz.

How this is read0.9 <= |H| <= 1 in the passband means Ap = -20 log10(0.9) = 0.9151 dB, and |H| <= 0.2 in the stopband means As = -20 log10(0.2) = 13.9794 dB. A sampling frequency of 1 Hz gives T = 1 s.

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/1) tan(1.5708/2) = 2 rad/s Ws = (2/T) tan(ws/2) = (2/1) tan(2.3562/2) = 4.8284 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.398) - 1) / (10^(0.092) - 1) ] / ( 2 log10(2.4142) ) = log10( 24 / 0.2346 ) / ( 2 log10 2.4142 ) = 2.6255 so take N = 3
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 2 / (0.2346)^(1/6) = 2.5467 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 4.8284 / (24)^(1/6) = 2.843 rad/s exact at the stopband edge Either is acceptable; take Wc = 2.5467 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 3 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 2 s0 = -1.2734 + j2.2055 s1 = -2.5467 s2 = -1.2734 - j2.2055 Ha(s) = 16.5179 / ( z^3 + 5.0935z^2 + 12.9718z + 16.5179 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 2 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.2332 + 0.6996z^-1 + 0.6996z^-2 + 0.2332z^-3 ) / ( 1 + 0.4394z^-1 + 0.3845z^-2 + 0.0416z^-3 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 1.57080.90.92 dB, against the 0.92 dB allowed
w = ws = 2.35620.145216.76 dB, against the 13.98 dB required
w = pi0at Nyquist

N = 3, Wc = 2.5467 rad/s, and H(z) = ( 0.2332 + 0.6996z^-1 + 0.6996z^-2 + 0.2332z^-3 ) / ( 1 + 0.4394z^-1 + 0.3845z^-2 + 0.0416z^-3 ). The specification is met at both edges.

2080 Baishakh · Q911 marksDesign a low pass digital IIR filter by Bilinear Transformation method to an approximate Butterworth low pass filter, if passband edge frequency is 0.26 pi radians and maximum deviation of 0.99 dB below 0 dB gain in the passband. The maximum gain of -14.99 dB and frequency is 0.58pi radians in stopband, Consider sampling frequency 0.5 Hz.

How this is readA sampling frequency of 0.5 Hz gives T = 2 s.

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/2) tan(0.8168/2) = 0.4327 rad/s Ws = (2/T) tan(ws/2) = (2/2) tan(1.8221/2) = 1.2892 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.499) - 1) / (10^(0.099) - 1) ] / ( 2 log10(2.9791) ) = log10( 30.55 / 0.256 ) / ( 2 log10 2.9791 ) = 2.1902 so take N = 3
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 0.4327 / (0.256)^(1/6) = 0.5431 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 1.2892 / (30.55)^(1/6) = 0.7291 rad/s exact at the stopband edge Either is acceptable; take Wc = 0.5431 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 3 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 2 s0 = -0.2715 + j0.4703 s1 = -0.5431 s2 = -0.2715 - j0.4703 Ha(s) = 0.1602 / ( z^3 + 1.0861z^2 + 0.5898z + 0.1602 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 1 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.0565 + 0.1694z^-1 + 0.1694z^-2 + 0.0565z^-3 ) / ( 1 - 1.0634z^-1 + 0.6363z^-2 - 0.1211z^-3 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 0.81680.89230.99 dB, against the 0.99 dB allowed
w = ws = 1.82210.074522.55 dB, against the 14.99 dB required
w = pi0at Nyquist

N = 3, Wc = 0.5431 rad/s, and H(z) = ( 0.0565 + 0.1694z^-1 + 0.1694z^-2 + 0.0565z^-3 ) / ( 1 - 1.0634z^-1 + 0.6363z^-2 - 0.1211z^-3 ). The specification is met at both edges.

2076 Chaitra · Q1010 marksDesign a digital low pass Butterworth filter by applying bilinear transformation techniques for the given specifications: Passband peak to peak ripple <= 1dB, Passband edge frequency = 1.2KHz, Stopband Attenuation >= 40dB, Stopband edge frequency = 2.5 KHz, Sample rate = 8KHz

Digital edges first: w = 2 pi f / fs gives wp = 2 pi (1200)/8000 = 0.9425 rad and ws = 2 pi (2500)/8000 = 1.9635 rad.

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/0.0001) tan(0.9425/2) = 8152.4072 rad/s Ws = (2/T) tan(ws/2) = (2/0.0001) tan(1.9635/2) = 23945.6922 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(4) - 1) / (10^(0.1) - 1) ] / ( 2 log10(2.9373) ) = log10( 9999 / 0.2589 ) / ( 2 log10 2.9373 ) = 4.901 so take N = 5
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 8152.4072 / (0.2589)^(1/10) = 9331.8639 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 23945.6922 / (9999)^(1/10) = 9533.0471 rad/s exact at the stopband edge Either is acceptable; take Wc = 9331.8639 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 5 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 4 s0 = -2883.7045 + j8875.13 s1 = -7549.6365 + j5485.132 s2 = -9331.8639 s3 = -7549.6365 - j5485.132 s4 = -2883.7045 - j8875.13 Ha(s) = 70768824098953740288 / ( z^5 + 30198.5459z^4 + 455976087.6279z^3 + 4255106787982.6943z^2 + 24540941457124720z + 70768824098953756672 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 16000 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.011 + 0.0549z^-1 + 0.1098z^-2 + 0.1098z^-3 + 0.0549z^-4 + 0.011z^-5 ) / ( 1 - 1.617z^-1 + 1.5544z^-2 - 0.7829z^-3 + 0.2231z^-4 - 0.0263z^-5 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 0.94250.89131 dB, against the 1 dB allowed
w = ws = 1.96350.00940.93 dB, against the 40 dB required
w = pi0at Nyquist

N = 5, Wc = 9331.8639 rad/s, and H(z) = ( 0.011 + 0.0549z^-1 + 0.1098z^-2 + 0.1098z^-3 + 0.0549z^-4 + 0.011z^-5 ) / ( 1 - 1.617z^-1 + 1.5544z^-2 - 0.7829z^-3 + 0.2231z^-4 - 0.0263z^-5 ). The specification is met at both edges.

2076 Ashwin · Q712 marksDesign a low pass discrete IIR filter by Bilinear Transformation method to an approximate Butterworth filter having specifications as below: Pass bandedge frequency (wp) = 0.22 pi radians, Stop bandedge frequency (ws) = 0.54 pi radians, Passband ripple (deltap) = 0.11, Stopband ripple (deltas) = 0.22, Consider sampling frequency 0.5 Hz.

How this is readA passband ripple of 0.11 means Ap = -20 log10(0.89) = 1.0122 dB, and a stopband ripple of 0.22 means As = -20 log10(0.22) = 13.1515 dB. fs = 0.5 Hz gives T = 2 s.

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/2) tan(0.6912/2) = 0.36 rad/s Ws = (2/T) tan(ws/2) = (2/2) tan(1.6965/2) = 1.1343 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.315) - 1) / (10^(0.101) - 1) ] / ( 2 log10(3.1506) ) = log10( 19.661 / 0.2625 ) / ( 2 log10 3.1506 ) = 1.8806 so take N = 2
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 0.36 / (0.2625)^(1/4) = 0.503 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 1.1343 / (19.661)^(1/4) = 0.5387 rad/s exact at the stopband edge Either is acceptable; take Wc = 0.503 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 2 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 1 s0 = -0.3557 + j0.3557 s1 = -0.3557 - j0.3557 Ha(s) = 0.253 / ( z^2 + 0.7113z + 0.253 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 1 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.1288 + 0.2576z^-1 + 0.1288z^-2 ) / ( 1 - 0.7606z^-1 + 0.2757z^-2 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 0.69120.891.01 dB, against the 1.01 dB allowed
w = ws = 1.69650.192914.29 dB, against the 13.15 dB required
w = pi0at Nyquist

N = 2, Wc = 0.503 rad/s, and H(z) = ( 0.1288 + 0.2576z^-1 + 0.1288z^-2 ) / ( 1 - 0.7606z^-1 + 0.2757z^-2 ). The specification is met at both edges.

2075 Chaitra · Q710 marksUsing bilinear transformation, design a digital filter using Butterworth approximation which satisfies the following conditions: 0.8 <= |H(e^jW)| <= 1 for 0 <= W <= 0.2pi; |H(e^jW)| <= 0.2 for 0.6pi <= W <= pi

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/1) tan(0.6283/2) = 0.6498 rad/s Ws = (2/T) tan(ws/2) = (2/1) tan(1.885/2) = 2.7528 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.398) - 1) / (10^(0.194) - 1) ] / ( 2 log10(4.2361) ) = log10( 24 / 0.5625 ) / ( 2 log10 4.2361 ) = 1.3 so take N = 2
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 0.6498 / (0.5625)^(1/4) = 0.7504 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 2.7528 / (24)^(1/4) = 1.2437 rad/s exact at the stopband edge Either is acceptable; take Wc = 0.7504 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 2 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 1 s0 = -0.5306 + j0.5306 s1 = -0.5306 - j0.5306 Ha(s) = 0.5631 / ( z^2 + 1.0612z + 0.5631 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 2 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.0842 + 0.1684z^-1 + 0.0842z^-2 ) / ( 1 - 1.0282z^-1 + 0.3651z^-2 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 0.62830.81.94 dB, against the 1.94 dB allowed
w = ws = 1.8850.074122.6 dB, against the 13.98 dB required
w = pi0at Nyquist

N = 2, Wc = 0.7504 rad/s, and H(z) = ( 0.0842 + 0.1684z^-1 + 0.0842z^-2 ) / ( 1 - 1.0282z^-1 + 0.3651z^-2 ). The specification is met at both edges.

2075 Ashwin · Q612 marksDesign a digital low-pass filter with the following specification: i) Pass-band magnitude constant to 0.7 dB below the frequency of 0.15 pi ii) Stop-band attenuation at least 14 dB for the frequencies between 0.6pi to pi. Use Butterworth approximation as a prototype and use bilinear transformation method to obtain the digital filter.

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/1) tan(0.4712/2) = 0.4802 rad/s Ws = (2/T) tan(ws/2) = (2/1) tan(1.885/2) = 2.7528 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.4) - 1) / (10^(0.07) - 1) ] / ( 2 log10(5.733) ) = log10( 24.119 / 0.1749 ) / ( 2 log10 5.733 ) = 1.4106 so take N = 2
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 0.4802 / (0.1749)^(1/4) = 0.7425 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 2.7528 / (24.119)^(1/4) = 1.2422 rad/s exact at the stopband edge Either is acceptable; take Wc = 0.7425 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 2 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 1 s0 = -0.525 + j0.525 s1 = -0.525 - j0.525 Ha(s) = 0.5513 / ( z^2 + 1.05z + 0.5513 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 2 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.0829 + 0.1658z^-1 + 0.0829z^-2 ) / ( 1 - 1.037z^-1 + 0.3685z^-2 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 0.47120.92260.7 dB, against the 0.7 dB allowed
w = ws = 1.8850.072622.79 dB, against the 14 dB required
w = pi0at Nyquist

N = 2, Wc = 0.7425 rad/s, and H(z) = ( 0.0829 + 0.1658z^-1 + 0.0829z^-2 ) / ( 1 - 1.037z^-1 + 0.3685z^-2 ). The specification is met at both edges.

2074 Chaitra · Q712 marksDesign a digital low-pass filter with the following specification: i) Pass-band magnitude constant to 0.7 dB below the frequency of 0.15pi ii) Stop-band attenuation at least 14 dB for the frequencies between 0.6pi to pi. Use Butterworth approximation as a prototype and use impulse invariance method to obtain the digital filter.

Impulse invariance maps frequency linearly, W = w/T, so there is no prewarping to do.

Wp = wp/T = 0.4712 rad/s Ws = ws/T = 1.885 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.4) - 1) / (10^(0.07) - 1) ] / ( 2 log10(4) ) = log10( 24.119 / 0.1749 ) / ( 2 log10 4 ) = 1.7769 so take N = 2
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 0.4712 / (0.1749)^(1/4) = 0.7287 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 1.885 / (24.119)^(1/4) = 0.8506 rad/s exact at the stopband edge Either is acceptable; take Wc = 0.7287 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 2 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 1 s0 = -0.5153 + j0.5153 s1 = -0.5153 - j0.5153 Ha(s) = 0.531 / ( z^2 + 1.0305z + 0.531 )

Expand Ha(s) in partial fractions and map each pole on its own with s = pk going to z = e^(pk T), which is what impulse invariance does.

residue -j0.5153 at pole -0.5153 + j0.5153 -> -j0.5153 / ( 1 - (0.5198 + j0.2943) z^-1 ) residue j0.5153 at pole -0.5153 - j0.5153 -> j0.5153 / ( 1 - (0.5198 - j0.2943) z^-1 )
H(z) = ( 0.3033z^-1 ) / ( 1 - 1.0396z^-1 + 0.3568z^-2 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 00.9561the DC gain
w = wp = 0.47120.89860.93 dB, against the 0.7 dB allowed
w = ws = 1.8850.191814.35 dB, against the 14 dB required
w = pi0.1266at Nyquist

N = 2, Wc = 0.7287 rad/s, and H(z) = ( 0.3033z^-1 ) / ( 1 - 1.0396z^-1 + 0.3568z^-2 ). The specification is met at the passband edge and exceeded at the stopband edge, as rounding the order up guarantees.

2074 Ashwin · Q815 marksDesign a low pass discrete IIR filter by Bilinear Transformation method to an approximate Butterworth filter having specifications as below: Pass bandedge frequency (wp) = 0.27 pi radians, Stop bandedge frequency (ws) = 0.58 pi radians, Passband ripple (deltap) = 0.11, Stopband ripple (deltas) = 0.21, Consider sampling frequency 0.5 Hz.

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/2) tan(0.8482/2) = 0.4515 rad/s Ws = (2/T) tan(ws/2) = (2/2) tan(1.8221/2) = 1.2892 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.356) - 1) / (10^(0.101) - 1) ] / ( 2 log10(2.8552) ) = log10( 21.676 / 0.2625 ) / ( 2 log10 2.8552 ) = 2.1035 so take N = 3
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 0.4515 / (0.2625)^(1/6) = 0.5643 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 1.2892 / (21.676)^(1/6) = 0.7721 rad/s exact at the stopband edge Either is acceptable; take Wc = 0.5643 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 3 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 2 s0 = -0.2821 + j0.4887 s1 = -0.5643 s2 = -0.2821 - j0.4887 Ha(s) = 0.1797 / ( z^3 + 1.1286z^2 + 0.6368z + 0.1797 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 1 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.061 + 0.183z^-1 + 0.183z^-2 + 0.061z^-3 ) / ( 1 - 1.0026z^-1 + 0.6022z^-2 - 0.1116z^-3 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 0.84820.891.01 dB, against the 1.01 dB allowed
w = ws = 1.82210.083621.56 dB, against the 13.56 dB required
w = pi0at Nyquist

N = 3, Wc = 0.5643 rad/s, and H(z) = ( 0.061 + 0.183z^-1 + 0.183z^-2 + 0.061z^-3 ) / ( 1 - 1.0026z^-1 + 0.6022z^-2 - 0.1116z^-3 ). The specification is met at both edges.

2073 Shrawan · Q812 marksUsing bilinear transformation, design a butterworth low pass filter which satisfies the following Magnitude Response: 0.89125 <= |H(e^jw)| <= 1 for 0 <= w <= 0.2pi; |H(e^jw)| <= 0.17783 for 0.3pi <= w <= pi

How this is read0.89125 and 0.17783 are the familiar 1 dB and 15 dB written as ratios: -20 log10(0.89125) = 1 dB and -20 log10(0.17783) = 15 dB.

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/1) tan(0.6283/2) = 0.6498 rad/s Ws = (2/T) tan(ws/2) = (2/1) tan(0.9425/2) = 1.0191 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.5) - 1) / (10^(0.1) - 1) ] / ( 2 log10(1.5682) ) = log10( 30.622 / 0.2589 ) / ( 2 log10 1.5682 ) = 5.3044 so take N = 6
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 0.6498 / (0.2589)^(1/12) = 0.7273 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 1.0191 / (30.622)^(1/12) = 0.7662 rad/s exact at the stopband edge Either is acceptable; take Wc = 0.7273 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 6 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 5 s0 = -0.1882 + j0.7025 s1 = -0.5143 + j0.5143 s2 = -0.7025 + j0.1882 s3 = -0.7025 - j0.1882 s4 = -0.5143 - j0.5143 s5 = -0.1882 - j0.7025 Ha(s) = 0.148 / ( z^6 + 2.81z^5 + 3.9481z^4 + 3.5168z^3 + 2.0884z^2 + 0.7862z + 0.148 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 2 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.0006 + 0.0035z^-1 + 0.0087z^-2 + 0.0116z^-3 + 0.0087z^-4 + 0.0035z^-5 + 0.0006z^-6 ) / ( 1 - 3.3143z^-1 + 4.9501z^-2 - 4.1433z^-3 + 2.0275z^-4 - 0.5458z^-5 + 0.0628z^-6 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 0.62830.89131 dB, against the 1 dB allowed
w = ws = 0.94250.13117.65 dB, against the 15 dB required
w = pi0at Nyquist

N = 6, Wc = 0.7273 rad/s, and H(z) = ( 0.0006 + 0.0035z^-1 + 0.0087z^-2 + 0.0116z^-3 + 0.0087z^-4 + 0.0035z^-5 + 0.0006z^-6 ) / ( 1 - 3.3143z^-1 + 4.9501z^-2 - 4.1433z^-3 + 2.0275z^-4 - 0.5458z^-5 + 0.0628z^-6 ). The specification is met at both edges.

2072 Kartik · Q915 marksDesign a low pass digital filter by Bilinear Transformation method to an approximate Butterworth filter, if passband edge frequency is 0.25 pi radians and maximum deviation of 1 dB below 0 dB gain in the passband. The maximum gain of -15 dB and frequency is 0.45 pi radians in stopband, Consider sampling frequency 1Hz.

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/1) tan(0.7854/2) = 0.8284 rad/s Ws = (2/T) tan(ws/2) = (2/1) tan(1.4137/2) = 1.7082 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.5) - 1) / (10^(0.1) - 1) ] / ( 2 log10(2.0619) ) = log10( 30.623 / 0.2589 ) / ( 2 log10 2.0619 ) = 3.2979 so take N = 4
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 0.8284 / (0.2589)^(1/8) = 0.9809 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 1.7082 / (30.623)^(1/8) = 1.1137 rad/s exact at the stopband edge Either is acceptable; take Wc = 0.9809 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 4 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 3 s0 = -0.3754 + j0.9062 s1 = -0.9062 + j0.3754 s2 = -0.9062 - j0.3754 s3 = -0.3754 - j0.9062 Ha(s) = 0.9256 / ( z^4 + 2.5631z^3 + 3.2848z^2 + 2.4659z + 0.9256 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 2 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.0167 + 0.0667z^-1 + 0.1001z^-2 + 0.0667z^-3 + 0.0167z^-4 ) / ( 1 - 1.6476z^-1 + 1.3563z^-2 - 0.5252z^-3 + 0.0834z^-4 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 0.78540.89131 dB, against the 1 dB allowed
w = ws = 1.41370.108119.32 dB, against the 15 dB required
w = pi0at Nyquist

N = 4, Wc = 0.9809 rad/s, and H(z) = ( 0.0167 + 0.0667z^-1 + 0.1001z^-2 + 0.0667z^-3 + 0.0167z^-4 ) / ( 1 - 1.6476z^-1 + 1.3563z^-2 - 0.5252z^-3 + 0.0834z^-4 ). The specification is met at both edges.

2071 Shrawan · Q815 marksDesign a low pass digital filter by Bilinear Transformation method to an approximate Butterworth filter it passband frequency is 0.2pi radians and maximum deviation of 1 db below 0 dB gain in the pass band. The maximum gain of -15 db and frequency is 0.4pi radians in stop band, consider sampling frequency 1 Hz.

Prewarp, because the bilinear transformation bends the frequency axis. Design the analog filter at these frequencies and the mapping pulls the edges back to exactly where they were asked for.

Wp = (2/T) tan(wp/2) = (2/1) tan(0.6283/2) = 0.6498 rad/s Ws = (2/T) tan(ws/2) = (2/1) tan(1.2566/2) = 1.4531 rad/s

Now the order. Put the two specification points into the Butterworth magnitude and divide one by the other, so that Wc cancels.

log10[ (10^(0.1 As) - 1) / (10^(0.1 Ap) - 1) ] N >= ----------------------------------------------- 2 log10( Ws / Wp ) = log10[ (10^(1.5) - 1) / (10^(0.1) - 1) ] / ( 2 log10(2.2361) ) = log10( 30.623 / 0.2589 ) / ( 2 log10 2.2361 ) = 2.9656 so take N = 3
Wc = Wp / (10^(0.1 Ap) - 1)^(1/2N) = 0.6498 / (0.2589)^(1/6) = 0.814 rad/s exact at the passband edge Wc = Ws / (10^(0.1 As) - 1)^(1/2N) = 1.4531 / (30.623)^(1/6) = 0.8215 rad/s exact at the stopband edge Either is acceptable; take Wc = 0.814 rad/s, which meets the passband exactly and the stopband with room to spare.

The prototype has its 3 poles evenly spaced on a circle of radius Wc, and only the left half plane ones belong to a stable filter.

sk = Wc exp( j pi (2k + N + 1) / 2N ), k = 0 .. 2 s0 = -0.407 + j0.7049 s1 = -0.814 s2 = -0.407 - j0.7049 Ha(s) = 0.5393 / ( z^3 + 1.6279z^2 + 1.3251z + 0.5393 )

Now substitute, which is one line of algebra per power of s.

s = (2/T) (1 - z^-1)/(1 + z^-1) = 2 (1 - z^-1)/(1 + z^-1)
H(z) = ( 0.0305 + 0.0914z^-1 + 0.0914z^-2 + 0.0305z^-3 ) / ( 1 - 1.4826z^-1 + 0.9296z^-2 - 0.2033z^-3 )

Check the finished filter against the specification it was built for, which costs four substitutions:

Frequency|H(e^jw)|
w = 01the DC gain
w = wp = 0.62830.89131 dB, against the 1 dB allowed
w = ws = 1.25660.173115.23 dB, against the 15 dB required
w = pi0at Nyquist

N = 3, Wc = 0.814 rad/s, and H(z) = ( 0.0305 + 0.0914z^-1 + 0.0914z^-2 + 0.0305z^-3 ) / ( 1 - 1.4826z^-1 + 0.9296z^-2 - 0.2033z^-3 ). The specification is met at both edges.

Circular convolution TOP 11/19

Ch 7 · DFT and FFT11 questions, from 11 of the 19 sittings

The procedure, the same for every question in this topic
N-1 y[n] = x1 (N) x2 = SUM x1[m] x2[ (n - m) mod N ] m=0 N is the DFT length. Unequal lengths: N is the LARGER, and the shorter sequence is ZERO PADDED to it. The answer has N samples. CONCENTRIC CIRCLES x1 on the inner circle anticlockwise, x2 on the outer clockwise. Multiply aligned pairs and add for y[0]; rotate the outer circle one step anticlockwise for y[1]; repeat N times. MATRIX a circulant matrix of x2, each column the previous one rotated down, times the column vector x1.
  • "Find x3[n] if X3(k) = X1(k) X2(k)" IS this question. By the convolution property a product of DFTs is a circular convolution, so no DFT need ever be computed. Eleven of the sittings word it that way.
  • The modulo is the whole difference from linear convolution: what runs off the end wraps round to the front.
Every answer in this topic
PaperQMarksThe answer
2082 BhadraQ107y[n] = {1, 6, 9, 8, 4}. The check holds: 4 × 7 = 28, the sum of y.
2082 BaishakhQ106y[n] = {1, -4, -4, -2, 5}. The check holds: 2 × -2 = -4, the sum of y.
2081 BhadraQ106y[n] = {229, 365, 451, 65, 130}. The check holds: 40 × 31 = 1240, the sum of y.
2081 BaishakhQ106y[n] = {47, 67, 56, 34}. The check holds: 12 × 17 = 204, the sum of y.
2080 BhadraQ106y[n] = {17, 19, 22, 19}. The check holds: 7 × 11 = 77, the sum of y.
2079 BhadraQ117y[n] = {2, 2, 2, 2}. The check holds: 2 × 4 = 8, the sum of y.
2079 BaishakhQ117y[n] = {8, -2, -1, -4, -1}. The check holds: 0 × 6 = 0, the sum of y.
2076 ChaitraQ125y[n] = {-7, 6, 5, 1}. The check holds: 1 × 5 = 5, the sum of y.
2073 ShrawanQ117y[n] = {1, -16, -5, 9, 5}. The check holds: 6 × -1 = -6, the sum of y.
2072 ChaitraQ127y[n] = {1, 6, 9, 8, 4}. The check holds: 4 × 7 = 28, the sum of y.
2071 ShrawanQ97y[n] = {42, 46, 42, 30}. The check holds: 10 × 16 = 160, the sum of y.
The checks that cost nothing
  • The sums multiply, exactly as in linear convolution.
  • N samples out, no more and no fewer.
  • Compare against the linear answer when N is smaller than N1 + N2 - 1: the difference is precisely the wrapped tail, and seeing it is worth a line.
2082 Bhadra · Q107 marksCompute the circular convolution of the following sequences: h(n) = {1, 2, 1, -1, 1} and x(n) = {1, 2, 3, 1}
What is different in this one
  • The two sequences are different lengths, 5 and 4, so the shorter is zero padded to N = 5 before anything else happens. Getting N wrong makes every sample wrong.
  • N = 5 is smaller than N1 + N2 - 1 = 8, so this circular answer is not the linear convolution: the last 3 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 5, the longer of the two. Zero pad to that length, since x2[n] has 4 samples. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=2x1[2]=1x1[3]=-1x1[4]=1sum
y[0]101321
y[1]210136
y[2]321019
y[3]132108
y[4]013214
y[0] = 1(1) + 1(1) + -1(3) + 1(2) = 1 y[1] = 1(2) + 2(1) + -1(1) + 1(3) = 6 y[2] = 1(3) + 2(2) + 1(1) + 1(1) = 9 y[3] = 1(1) + 2(3) + 1(2) + -1(1) = 8 y[4] = 2(1) + 1(3) + -1(2) + 1(1) = 4

y[n] = {1, 6, 9, 8, 4}. The check holds: 4 × 7 = 28, the sum of y.

2082 Baishakh · Q106 marksFind the circular convolution of the sequences x1[n] = {1, 1, -1, -1, 2} and x2[n] = {1, -1, -2}.
What is different in this one
  • The two sequences are different lengths, 5 and 3, so the shorter is zero padded to N = 5 before anything else happens. Getting N wrong makes every sample wrong.
  • N = 5 is smaller than N1 + N2 - 1 = 7, so this circular answer is not the linear convolution: the last 2 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 5, the longer of the two. Zero pad to that length, since x2[n] has 3 samples. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=1x1[2]=-1x1[3]=-1x1[4]=2sum
y[0]100-2-11
y[1]-1100-2-4
y[2]-2-1100-4
y[3]0-2-110-2
y[4]00-2-115
y[0] = 1(1) + -1(-2) + 2(-1) = 1 y[1] = 1(-1) + 1(1) + 2(-2) = -4 y[2] = 1(-2) + 1(-1) + -1(1) = -4 y[3] = 1(-2) + -1(-1) + -1(1) = -2 y[4] = -1(-2) + -1(-1) + 2(1) = 5

y[n] = {1, -4, -4, -2, 5}. The check holds: 2 × -2 = -4, the sum of y.

2081 Bhadra · Q106 marksIf X1(k) and X2(k) are the 5-point DFT of x1(n) = 3^n for 0 <= n <= 3 and x2(n) = 2^n for 0 <= n <= 4. Find x3(n) if X3(k) = X1(k)X2(k)

How this is readx1(n) = 3^n over 0 <= n <= 3 is {1, 3, 9, 27} and x2(n) = 2^n over 0 <= n <= 4 is {1, 2, 4, 8, 16}. X3 = X1 X2 means CIRCULAR convolution, at the 5 point length the question sets.

What is different in this one
  • The two sequences are different lengths, 4 and 5, so the shorter is zero padded to N = 5 before anything else happens. Getting N wrong makes every sample wrong.
  • N = 5 is smaller than N1 + N2 - 1 = 8, so this circular answer is not the linear convolution: the last 3 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 5, the longer of the two. Zero pad to that length, since x1[n] has 4 samples. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=3x1[2]=9x1[3]=27x1[4]=0sum
y[0]116842229
y[1]211684365
y[2]421168451
y[3]84211665
y[4]168421130
y[0] = 1(1) + 3(16) + 9(8) + 27(4) = 229 y[1] = 1(2) + 3(1) + 9(16) + 27(8) = 365 y[2] = 1(4) + 3(2) + 9(1) + 27(16) = 451 y[3] = 1(8) + 3(4) + 9(2) + 27(1) = 65 y[4] = 1(16) + 3(8) + 9(4) + 27(2) = 130

y[n] = {229, 365, 451, 65, 130}. The check holds: 40 × 31 = 1240, the sum of y.

2081 Baishakh · Q106 marksCompute circular convolution of the following two sequences using DFT. x(n) = {1, 2, 4, 5} and h(n) = {2, 1, 6, 8}
What is different in this one
  • N = 4 is smaller than N1 + N2 - 1 = 7, so this circular answer is not the linear convolution: the last 3 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 4. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=2x1[2]=4x1[3]=5sum
y[0]286147
y[1]128667
y[2]612856
y[3]861234
y[0] = 1(2) + 2(8) + 4(6) + 5(1) = 47 y[1] = 1(1) + 2(2) + 4(8) + 5(6) = 67 y[2] = 1(6) + 2(1) + 4(2) + 5(8) = 56 y[3] = 1(8) + 2(6) + 4(1) + 5(2) = 34

y[n] = {47, 67, 56, 34}. The check holds: 12 × 17 = 204, the sum of y.

2080 Bhadra · Q106 marksObtain the circular convolution of the following sequences: x1(n) = {1, 2, 3, 1} and x2(n) = {4, 3, 2, 2}
What is different in this one
  • N = 4 is smaller than N1 + N2 - 1 = 7, so this circular answer is not the linear convolution: the last 3 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 4. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=2x1[2]=3x1[3]=1sum
y[0]422317
y[1]342219
y[2]234222
y[3]223419
y[0] = 1(4) + 2(2) + 3(2) + 1(3) = 17 y[1] = 1(3) + 2(4) + 3(2) + 1(2) = 19 y[2] = 1(2) + 2(3) + 3(4) + 1(2) = 22 y[3] = 1(2) + 2(2) + 3(3) + 1(4) = 19

y[n] = {17, 19, 22, 19}. The check holds: 7 × 11 = 77, the sum of y.

2079 Bhadra · Q117 marksIf X1(k) and X2(k) are DFT of sequence x1[n] = {1, 0, 0, 1} and x2[n] = {2, 0, 2} respectively then find the sequence x3[n]; if DFT of x3[n] is given by X3(k) = X1(k) X2(k).
What is different in this one
  • The two sequences are different lengths, 4 and 3, so the shorter is zero padded to N = 4 before anything else happens. Getting N wrong makes every sample wrong.
  • N = 4 is smaller than N1 + N2 - 1 = 6, so this circular answer is not the linear convolution: the last 2 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 4, the longer of the two. Zero pad to that length, since x2[n] has 3 samples. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=0x1[2]=0x1[3]=1sum
y[0]20202
y[1]02022
y[2]20202
y[3]02022
y[0] = 1(2) = 2 y[1] = 1(2) = 2 y[2] = 1(2) = 2 y[3] = 1(2) = 2

y[n] = {2, 2, 2, 2}. The check holds: 2 × 4 = 8, the sum of y.

2079 Baishakh · Q117 marksFind the circular convolution of the sequences x1[n] = {1, -1, -2, 3, -1} and x2[n] = {1, 2, 3}.
What is different in this one
  • The two sequences are different lengths, 5 and 3, so the shorter is zero padded to N = 5 before anything else happens. Getting N wrong makes every sample wrong.
  • N = 5 is smaller than N1 + N2 - 1 = 7, so this circular answer is not the linear convolution: the last 2 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 5, the longer of the two. Zero pad to that length, since x2[n] has 3 samples. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=-1x1[2]=-2x1[3]=3x1[4]=-1sum
y[0]100328
y[1]21003-2
y[2]32100-1
y[3]03210-4
y[4]00321-1
y[0] = 1(1) + 3(3) + -1(2) = 8 y[1] = 1(2) + -1(1) + -1(3) = -2 y[2] = 1(3) + -1(2) + -2(1) = -1 y[3] = -1(3) + -2(2) + 3(1) = -4 y[4] = -2(3) + 3(2) + -1(1) = -1

y[n] = {8, -2, -1, -4, -1}. The check holds: 0 × 6 = 0, the sum of y.

2076 Chaitra · Q125 marksFind x3[n] if DFT of x3[n] is given by X3(k) = X1(k) * X2(k) where X1(k) and X2(k) are 4-point DFT of x1[n] = {1, 2, -2} and x2[n] = {1, 2, 3, -1} respectively.
What is different in this one
  • The two sequences are different lengths, 3 and 4, so the shorter is zero padded to N = 4 before anything else happens. Getting N wrong makes every sample wrong.
  • N = 4 is smaller than N1 + N2 - 1 = 6, so this circular answer is not the linear convolution: the last 2 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 4, the longer of the two. Zero pad to that length, since x1[n] has 3 samples. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=2x1[2]=-2x1[3]=0sum
y[0]1-132-7
y[1]21-136
y[2]321-15
y[3]-13211
y[0] = 1(1) + 2(-1) + -2(3) = -7 y[1] = 1(2) + 2(1) + -2(-1) = 6 y[2] = 1(3) + 2(2) + -2(1) = 5 y[3] = 1(-1) + 2(3) + -2(2) = 1

y[n] = {-7, 6, 5, 1}. The check holds: 1 × 5 = 5, the sum of y.

2073 Shrawan · Q117 marksFind x3[n] if DFT of x3[n] is given by X3(k) = X1(k) X2(k) where X1(k) and X2(k) are 5-point DFT of x1[n] = {1, -2, 2, 1, 4} and x2[n] = {2, 1, -3, -1} respectively.
What is different in this one
  • The two sequences are different lengths, 5 and 4, so the shorter is zero padded to N = 5 before anything else happens. Getting N wrong makes every sample wrong.
  • N = 5 is smaller than N1 + N2 - 1 = 8, so this circular answer is not the linear convolution: the last 3 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 5, the longer of the two. Zero pad to that length, since x2[n] has 4 samples. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=-2x1[2]=2x1[3]=1x1[4]=4sum
y[0]20-1-311
y[1]120-1-3-16
y[2]-3120-1-5
y[3]-1-31209
y[4]0-1-3125
y[0] = 1(2) + 2(-1) + 1(-3) + 4(1) = 1 y[1] = 1(1) + -2(2) + 1(-1) + 4(-3) = -16 y[2] = 1(-3) + -2(1) + 2(2) + 4(-1) = -5 y[3] = 1(-1) + -2(-3) + 2(1) + 1(2) = 9 y[4] = -2(-1) + 2(-3) + 1(1) + 4(2) = 5

y[n] = {1, -16, -5, 9, 5}. The check holds: 6 × -1 = -6, the sum of y.

2072 Chaitra · Q127 marksCompute Circular Convolution of h(n) = {1, 2, 1, -1, 1} and x[n] = {1, 2, 3, 1}.
What is different in this one
  • The two sequences are different lengths, 5 and 4, so the shorter is zero padded to N = 5 before anything else happens. Getting N wrong makes every sample wrong.
  • N = 5 is smaller than N1 + N2 - 1 = 8, so this circular answer is not the linear convolution: the last 3 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 5, the longer of the two. Zero pad to that length, since x2[n] has 4 samples. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=2x1[2]=1x1[3]=-1x1[4]=1sum
y[0]101321
y[1]210136
y[2]321019
y[3]132108
y[4]013214
y[0] = 1(1) + 1(1) + -1(3) + 1(2) = 1 y[1] = 1(2) + 2(1) + -1(1) + 1(3) = 6 y[2] = 1(3) + 2(2) + 1(1) + 1(1) = 9 y[3] = 1(1) + 2(3) + 1(2) + -1(1) = 8 y[4] = 2(1) + 1(3) + -1(2) + 1(1) = 4

y[n] = {1, 6, 9, 8, 4}. The check holds: 4 × 7 = 28, the sum of y.

2071 Shrawan · Q97 marksA system has input signal x[n] = {1, 2, 3, 4} and impulse response h[n] = {1, 3, 5, 7} and the DFT of x[n] is X[k] and the DFT of h[n] is H[k]. Find the output of the system y[n] if G[k] = X[k].H[k]
What is different in this one
  • N = 4 is smaller than N1 + N2 - 1 = 7, so this circular answer is not the linear convolution: the last 3 samples have wrapped round and added to the front. That wrap is the whole point of the question.

The DFT length is N = 4. The circular convolution is y[n] = sum over m of x1[m] x2[(n - m) mod N], and the wrap is what makes it circular rather than linear.

Write it as a circulant matrix: each row is the previous row of x2 rotated by one, and each row is multiplied by the x1 values in the heading.

x1[0]=1x1[1]=2x1[2]=3x1[3]=4sum
y[0]175342
y[1]317546
y[2]531742
y[3]753130
y[0] = 1(1) + 2(7) + 3(5) + 4(3) = 42 y[1] = 1(3) + 2(1) + 3(7) + 4(5) = 46 y[2] = 1(5) + 2(3) + 3(1) + 4(7) = 42 y[3] = 1(7) + 2(5) + 3(3) + 4(1) = 30

y[n] = {42, 46, 42, 30}. The check holds: 10 × 16 = 160, the sum of y.

The IIR lattice ladder TOP 10/19

Ch 4 · Filter structures10 questions, from 10 of the 19 sittings

The procedure, the same for every question in this topic
1 From the DENOMINATOR A(z), step the order down: Km = alpha_m(m) the LAST coefficient alpha_m(k) - Km alpha_m(m-k) alpha_(m-1)(k) = ---------------------------- k = 1 .. m-1 1 - Km^2 Keep every intermediate polynomial: the ladder needs them. 2 The LADDER taps come from the numerator, top down: M CM = bM Cm = bm - SUM Ci alpha_i(i - m) i=m+1 3 Draw the all pole lattice, take a tap from every backward node gm, multiply by Cm, and sum them into y[n]. ALL POLE LATTICE: fm-1[n] = fm[n] - Km gm-1[n-1] NOTE THE MINUS gm[n] = Km fm-1[n] + gm-1[n-1]
  • a0 must be 1. If the denominator starts with anything else, divide the whole fraction through by it before starting.
  • An all pole filter has no ladder beyond C0 = 1, so the answer is the bare lattice.
  • The minus sign is the difference between the all pole lattice and the all zero one. Getting it backwards is the standard lost mark.
Every answer in this topic
PaperQMarksThe answer
2082 BhadraQ66K1 = -0.24, K2 = 0.25, and C0 = 1.743, C1 = -0.55, C2 = 0.5. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.
2082 BaishakhQ510K1 = 0.0302, K2 = 0.6585, K3 = -0.0775, and C0 = -0.0493, C1 = 0.3059, C2 = 0.5124, C3 = 0.2759. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.
2081 BhadraQ56+4K1 = 0.8404, K2 = 0.3994, K3 = 0.06, and C0 = 0.7485, C1 = -0.176, C2 = 1. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.
2080 BhadraQ510K1 = -0.3793, K2 = 0.8125, K3 = 0.6, and C0 = 1. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.
2080 BaishakhQ56K1 = -0.24, K2 = 0.25, and C0 = 1.743, C1 = -0.55, C2 = 0.5. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.
2079 BaishakhQ56+1K1 = -0.2, K2 = 0.5, and C0 = 0.81, C1 = -0.325, C2 = 0.25. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.
2076 ChaitraQ66+4K1 = -0.8056, K2 = -0.6044, K3 = 0.3, and C0 = 1.4722, C1 = -1.044, C2 = 3. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.
2076 AshwinQ56+3K1 = -0.8056, K2 = -0.6044, K3 = 0.3, and C0 = -0.0778, C1 = -1.3407, C2 = 0.5. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.
2075 ChaitraQ49The lattice does not exist for this filter. K4 = 1 gives 1 - K^2 = 0, and the reason is a pole of magnitude 1, on the unit circle, so the system is marginally stable at best. Report the breakdown and say what it means: that is the answer, and inventing a number is not.
2075 AshwinQ57+3K1 = 0.3042, K2 = 0.5719, K3 = 0.1111, and C0 = 0.3333. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles. Check the two's complement by reading the sign bit with weight -1: 1.011 = -1 + 0.375 = -0.625, as required.
The checks that cost nothing
  • |Km| < 1 for every m if and only if the filter is stable. That single test replaces finding the poles, and it is worth stating whether the question asks or not.
  • 1 - Km^2 must not be zero. If it is, a pole sits on the unit circle and no lattice exists: report the breakdown, do not invent a number.
  • Run the recursion forwards from the K values and you must get A(z) back.
2082 Bhadra · Q66 marksCompute Lattice ladder coefficients and draw lattice structure for the given system H(z) = (2 - 0.7z^-1 + 0.5z^-2)/(1 - 0.3z^-1 + 0.25z^-2)

The lattice half carries the poles and comes from the denominator, exactly as in the FIR case. The ladder half carries the zeros and comes from the numerator, using the intermediate polynomials the recursion threw off.

A(z) = 1 - 0.3z^-1 + 0.25z^-2 B(z) = 2 - 0.7z^-1 + 0.5z^-2
Denominator at this orderReflection coefficient
A2(z) = 1 - 0.3z^-1 + 0.25z^-2K2 = 0.25
A1(z) = 1 - 0.24z^-1K1 = -0.24
M CM = bM Cm = bm - SUM Ci alpha_i(i - m) m = M-1 ... 0 i=m+1
Ladder tapb valueValue
C20.50.5
C1-0.7-0.55
C021.743

K1 = -0.24, K2 = 0.25, and C0 = 1.743, C1 = -0.55, C2 = 0.5. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.

2082 Baishakh · Q510 marksA third order low pass filter has a system function H(z) = (0.2759 + 0.5121z^-1 + 0.5121z^-2 + 0.2759z^-3)/(1 - 0.0010z^-1 + 0.6546z^-2 - 0.0775z^-3). Implement the filter using lattice-ladder structure.

The lattice half carries the poles and comes from the denominator, exactly as in the FIR case. The ladder half carries the zeros and comes from the numerator, using the intermediate polynomials the recursion threw off.

A(z) = 1 - 0.001z^-1 + 0.6546z^-2 - 0.0775z^-3 B(z) = 0.2759 + 0.5121z^-1 + 0.5121z^-2 + 0.2759z^-3
Denominator at this orderReflection coefficient
A3(z) = 1 - 0.001z^-1 + 0.6546z^-2 - 0.0775z^-3K3 = -0.0775
A2(z) = 1 + 0.05z^-1 + 0.6585z^-2K2 = 0.6585
A1(z) = 1 + 0.0302z^-1K1 = 0.0302
M CM = bM Cm = bm - SUM Ci alpha_i(i - m) m = M-1 ... 0 i=m+1
Ladder tapb valueValue
C30.27590.2759
C20.51210.5124
C10.51210.3059
C00.2759-0.0493

K1 = 0.0302, K2 = 0.6585, K3 = -0.0775, and C0 = -0.0493, C1 = 0.3059, C2 = 0.5124, C3 = 0.2759. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.

2081 Bhadra · Q56+4 marksCompute the lattice and ladder coefficients and draw lattice-ladder structure for the given IIR system H(z) = (1 + z^-1 + z^-2)/((1 + 0.5z^-1)(1 + 0.3z^-1)(1 + 0.4z^-1))

How this is read(1 + 0.5z^-1)(1 + 0.3z^-1)(1 + 0.4z^-1) multiplies out to 1 + 1.2z^-1 + 0.47z^-2 + 0.06z^-3.

The lattice half carries the poles and comes from the denominator, exactly as in the FIR case. The ladder half carries the zeros and comes from the numerator, using the intermediate polynomials the recursion threw off.

A(z) = 1 + 1.2z^-1 + 0.47z^-2 + 0.06z^-3 B(z) = 1 + z^-1 + z^-2
Denominator at this orderReflection coefficient
A3(z) = 1 + 1.2z^-1 + 0.47z^-2 + 0.06z^-3K3 = 0.06
A2(z) = 1 + 1.176z^-1 + 0.3994z^-2K2 = 0.3994
A1(z) = 1 + 0.8404z^-1K1 = 0.8404
M CM = bM Cm = bm - SUM Ci alpha_i(i - m) m = M-1 ... 0 i=m+1
Ladder tapb valueValue
C211
C11-0.176
C010.7485

K1 = 0.8404, K2 = 0.3994, K3 = 0.06, and C0 = 0.7485, C1 = -0.176, C2 = 1. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.

2080 Bhadra · Q510 marksDraw the Lattice structure from the following system function. H(z) = 1/(1 - 0.2z^-1 + 0.4z^-2 + 0.6z^-3)

The lattice half carries the poles and comes from the denominator, exactly as in the FIR case. The ladder half carries the zeros and comes from the numerator, using the intermediate polynomials the recursion threw off.

A(z) = 1 - 0.2z^-1 + 0.4z^-2 + 0.6z^-3 B(z) = 1
Denominator at this orderReflection coefficient
A3(z) = 1 - 0.2z^-1 + 0.4z^-2 + 0.6z^-3K3 = 0.6
A2(z) = 1 - 0.6875z^-1 + 0.8125z^-2K2 = 0.8125
A1(z) = 1 - 0.3793z^-1K1 = -0.3793
M CM = bM Cm = bm - SUM Ci alpha_i(i - m) m = M-1 ... 0 i=m+1
Ladder tapb valueValue
C011

K1 = -0.3793, K2 = 0.8125, K3 = 0.6, and C0 = 1. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.

2080 Baishakh · Q56 marksCompute Lattice-ladder coefficients and draw lattice structure for given system H(z) = (2 - 0.7z^-1 + 0.5z^-2)/(1 - 0.3z^-1 + 0.25z^-2).

The lattice half carries the poles and comes from the denominator, exactly as in the FIR case. The ladder half carries the zeros and comes from the numerator, using the intermediate polynomials the recursion threw off.

A(z) = 1 - 0.3z^-1 + 0.25z^-2 B(z) = 2 - 0.7z^-1 + 0.5z^-2
Denominator at this orderReflection coefficient
A2(z) = 1 - 0.3z^-1 + 0.25z^-2K2 = 0.25
A1(z) = 1 - 0.24z^-1K1 = -0.24
M CM = bM Cm = bm - SUM Ci alpha_i(i - m) m = M-1 ... 0 i=m+1
Ladder tapb valueValue
C20.50.5
C1-0.7-0.55
C021.743

K1 = -0.24, K2 = 0.25, and C0 = 1.743, C1 = -0.55, C2 = 0.5. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.

2079 Baishakh · Q56+1 marksCompute Lattice-ladder coefficients and draw lattice structure for given system H(z) = (1 - 0.4z^-1 + 0.25z^-2)/(1 - 0.3z^-1 + 0.5z^-2). Also check the stability of given system.

The lattice half carries the poles and comes from the denominator, exactly as in the FIR case. The ladder half carries the zeros and comes from the numerator, using the intermediate polynomials the recursion threw off.

A(z) = 1 - 0.3z^-1 + 0.5z^-2 B(z) = 1 - 0.4z^-1 + 0.25z^-2
Denominator at this orderReflection coefficient
A2(z) = 1 - 0.3z^-1 + 0.5z^-2K2 = 0.5
A1(z) = 1 - 0.2z^-1K1 = -0.2
M CM = bM Cm = bm - SUM Ci alpha_i(i - m) m = M-1 ... 0 i=m+1
Ladder tapb valueValue
C20.250.25
C1-0.4-0.325
C010.81

K1 = -0.2, K2 = 0.5, and C0 = 0.81, C1 = -0.325, C2 = 0.25. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.

2076 Chaitra · Q66+4 marksCompute Lattice and Ladder coefficients and Draw lattice-ladder structure for given IIR system H(z) = (0.5 - 2z^-1 + 3z^-2)/(1 - 0.5z^-1 - 0.7z^-2 + 0.3z^-3).

The lattice half carries the poles and comes from the denominator, exactly as in the FIR case. The ladder half carries the zeros and comes from the numerator, using the intermediate polynomials the recursion threw off.

A(z) = 1 - 0.5z^-1 - 0.7z^-2 + 0.3z^-3 B(z) = 0.5 - 2z^-1 + 3z^-2
Denominator at this orderReflection coefficient
A3(z) = 1 - 0.5z^-1 - 0.7z^-2 + 0.3z^-3K3 = 0.3
A2(z) = 1 - 0.3187z^-1 - 0.6044z^-2K2 = -0.6044
A1(z) = 1 - 0.8056z^-1K1 = -0.8056
M CM = bM Cm = bm - SUM Ci alpha_i(i - m) m = M-1 ... 0 i=m+1
Ladder tapb valueValue
C233
C1-2-1.044
C00.51.4722

K1 = -0.8056, K2 = -0.6044, K3 = 0.3, and C0 = 1.4722, C1 = -1.044, C2 = 3. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.

2076 Ashwin · Q56+3 marksCompute Lattice and Ladder coefficients and Draw lattice-ladder structure for given IIR system H(z) = (0.7 - 1.5z^-1 + 0.5z^-2)/(1 - 0.5z^-1 - 0.7z^-2 + 0.3z^-3)

The lattice half carries the poles and comes from the denominator, exactly as in the FIR case. The ladder half carries the zeros and comes from the numerator, using the intermediate polynomials the recursion threw off.

A(z) = 1 - 0.5z^-1 - 0.7z^-2 + 0.3z^-3 B(z) = 0.7 - 1.5z^-1 + 0.5z^-2
Denominator at this orderReflection coefficient
A3(z) = 1 - 0.5z^-1 - 0.7z^-2 + 0.3z^-3K3 = 0.3
A2(z) = 1 - 0.3187z^-1 - 0.6044z^-2K2 = -0.6044
A1(z) = 1 - 0.8056z^-1K1 = -0.8056
M CM = bM Cm = bm - SUM Ci alpha_i(i - m) m = M-1 ... 0 i=m+1
Ladder tapb valueValue
C20.50.5
C1-1.5-1.3407
C00.7-0.0778

K1 = -0.8056, K2 = -0.6044, K3 = 0.3, and C0 = -0.0778, C1 = -1.3407, C2 = 0.5. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.

2075 Chaitra · Q49 marksDraw the lattice structure from the following system function H(t) = 1/(1 + (2/3)z^-1 + (5/8)z^-2 + (2/3)z^-3 + z^-4)

Step the order down on the denominator as usual.

A4(z) = 1 + 0.6667z^-1 + 0.625z^-2 + 0.6667z^-3 + z^-4 K4 = 1, so 1 - K^2 = 0

The recursion stops. |K| = 1 means a pole sits exactly on the unit circle, and the all pole lattice is defined only for |Km| below 1, which is the same statement as the filter being stable.

poles of H(z): 0.4429 + j0.8966, 0.4429 - j0.8966, -0.7762 + j0.6305, -0.7762 - j0.6305 magnitudes: 1, 1, 1, 1

The lattice does not exist for this filter. K4 = 1 gives 1 - K^2 = 0, and the reason is a pole of magnitude 1, on the unit circle, so the system is marginally stable at best. Report the breakdown and say what it means: that is the answer, and inventing a number is not.

2075 Ashwin · Q57+3 marksDraw the Lattice structure from the following system function: 1/(3 + (39/24)Z^-1 + (15/8)Z^-2 + (3/9)Z^-3). And represent 5/8 and -5/8 in sign magnitude, 1's complement and 2's complement format.

The lattice structure

The denominator does not start at 1, so divide numerator and denominator through by 3 first. Every recursion in this chapter assumes a0 = 1.

The lattice half carries the poles and comes from the denominator, exactly as in the FIR case. The ladder half carries the zeros and comes from the numerator, using the intermediate polynomials the recursion threw off.

A(z) = 1 + 0.5417z^-1 + 0.625z^-2 + 0.1111z^-3 B(z) = 0.3333
Denominator at this orderReflection coefficient
A3(z) = 1 + 0.5417z^-1 + 0.625z^-2 + 0.1111z^-3K3 = 0.1111
A2(z) = 1 + 0.4781z^-1 + 0.5719z^-2K2 = 0.5719
A1(z) = 1 + 0.3042z^-1K1 = 0.3042
M CM = bM Cm = bm - SUM Ci alpha_i(i - m) m = M-1 ... 0 i=m+1
Ladder tapb valueValue
C00.33330.3333

K1 = 0.3042, K2 = 0.5719, K3 = 0.1111, and C0 = 0.3333. Every |K| is below 1, so the filter is stable, and that test replaces finding the poles.

5/8 and -5/8 in the three formats

With the binary point just after the sign bit the weights are 0.5, 0.25, 0.125 and so on, so 0.625 = 0.101 in binary.

Format+0.625-0.625
Sign magnitude0.1011.101, only the sign bit changes
One's complement0.1011.010, every bit flipped
Two's complement0.1011.011, flipped then plus one in the last place

Check the two's complement by reading the sign bit with weight -1: 1.011 = -1 + 0.375 = -0.625, as required.

The FIR lattice HOT 7/19

Ch 4 · Filter structures7 questions, from 7 of the 19 sittings

The procedure, the same for every question in this topic
Write H(z) = Am(z) = 1 + alpha_m(1) z^-1 + ... + alpha_m(m) z^-m 1 Km = alpha_m(m) the LAST coefficient, always 2 step down: alpha_m(k) - Km alpha_m(m-k) alpha_(m-1)(k) = ---------------------------- k = 1 .. m-1 1 - Km^2 3 repeat until K1 STRUCTURE fm[n] = f(m-1)[n] + Km g(m-1)[n-1] gm[n] = Km f(m-1)[n] + g(m-1)[n-1] y[n] = fM[n]
  • The leading coefficient must be 1. H(z) = 2 + 1.8z^-1 ... means dividing by 2 first and putting the gain 2 at the output.
  • An FIR filter is always stable, whatever the K values, because its impulse response is finite. Say that before anything else when stability is asked.
Every answer in this topic
PaperQMarksThe answer
2081 BaishakhQ5b5K1 = 0.25, K2 = 0.5, K3 = 0.3333. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here every |K| is below 1, so it is minimum phase, meaning every zero lies inside the unit circle.
2078 BhadraQ63+7Direct form I needs 3 + 0 = 3 delays; direct form II needs max(3, 0) = 3, and is therefore the canonic form. Both realize the same H(z). K1 = 0.25, K2 = 0.5, K3 = 0.3333. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here every |K| is below 1, so it is minimum phase, meaning every zero lies inside the unit circle.
2074 ChaitraQ65K1 = 0.25, K2 = 0.5, K3 = 0.3333. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here every |K| is below 1, so it is minimum phase, meaning every zero lies inside the unit circle.
2074 AshwinQ53+7Direct form I needs 3 + 0 = 3 delays; direct form II needs max(3, 0) = 3, and is therefore the canonic form. Both realize the same H(z). The lattice does not exist for this filter. K3 = -1, so 1 - K^2 = 0 and the recursion breaks down; the reason is the zeros on the unit circle. The filter is still perfectly stable, being FIR, and it is still realizable in direct form. Say that, show the breakdown, and draw the direct form instead: an answer that reports a genuine breakdown scores, and one that invents a number does not.
2073 ShrawanQ53+7Direct form I needs 3 + 0 = 3 delays; direct form II needs max(3, 0) = 3, and is therefore the canonic form. Both realize the same H(z). K1 = -2.6, K2 = -1.6667, K3 = 0.5. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here not every |K| is below 1, so it is not minimum phase, meaning every zero lies inside the unit circle.
2072 ChaitraQ75The lattice does not exist for this filter. K2 = 1, so 1 - K^2 = 0 and the recursion breaks down; the reason is the double zero at z = -1 on the unit circle. The filter is still perfectly stable, being FIR, and it is still realizable in direct form. Say that, show the breakdown, and draw the direct form instead: an answer that reports a genuine breakdown scores, and one that invents a number does not.
2072 KartikQ76K1 = -0.5385, K2 = 0.7333, K3 = 4. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here not every |K| is below 1, so it is not minimum phase, meaning every zero lies inside the unit circle.
The checks that cost nothing
  • |Km| < 1 for every m if and only if the filter is minimum phase, that is, every zero inside the unit circle. A |K| above 1 is a legitimate answer, not an error.
  • 1 - Km^2 = 0 stops the recursion. |K| = 1 means a zero exactly on the unit circle and no lattice exists. Report it.
  • Run it forwards from the K values: A(z) must come back.
2081 Baishakh · Q5b5 marksDraw the lattice structure for the given FIR filter and also check whether the system is stable. H(z) = 1 + (13/24)z^-1 + (5/8)z^-2 + (1/3)z^-3

The last coefficient of the polynomial is the reflection coefficient of that order. Step the order down with the Levinson Durbin recursion and read the next one off.

Km = alpha_m(m) alpha_m(k) - Km alpha_m(m-k) alpha_(m-1)(k) = ---------------------------- k = 1 .. m-1 1 - Km^2
Polynomial at this orderReflection coefficient1 - K^2
A3(z) = 1 + 0.5417z^-1 + 0.625z^-2 + 0.3333z^-3K3 = 0.33330.8889
A2(z) = 1 + 0.375z^-1 + 0.5z^-2K2 = 0.50.75
A1(z) = 1 + 0.25z^-1K1 = 0.250.9375

K1 = 0.25, K2 = 0.5, K3 = 0.3333. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here every |K| is below 1, so it is minimum phase, meaning every zero lies inside the unit circle.

2078 Bhadra · Q63+7 marksThe system function of a filter is H(z) = 1 + (13/24)z^-1 + (5/8)z^-2 + (1/3)z^-3. Draw the Direct Form and Lattice Structure implementation of the above filter.

The direct form

Rearrange so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign, and that is where the marks are lost.

y[n] = x[n] + 0.5417 x[n-1] + 0.625 x[n-2] + 0.3333 x[n-3] H(z) = ( 1 + 0.5417z^-1 + 0.625z^-2 + 0.3333z^-3 ) / ( 1 ) feed forward b0 = 1, b1 = 0.5417, b2 = 0.625, b3 = 0.3333 feedback
x[n]+w[n]+y[n]b0 = 1z-10.5417z-10.625z-10.3333
Direct form II: one delay chain shared by both halves, 3 delays, which is the fewest possible.

Direct form I needs 3 + 0 = 3 delays; direct form II needs max(3, 0) = 3, and is therefore the canonic form. Both realize the same H(z).

The lattice structure

The last coefficient of the polynomial is the reflection coefficient of that order. Step the order down with the Levinson Durbin recursion and read the next one off.

Km = alpha_m(m) alpha_m(k) - Km alpha_m(m-k) alpha_(m-1)(k) = ---------------------------- k = 1 .. m-1 1 - Km^2
Polynomial at this orderReflection coefficient1 - K^2
A3(z) = 1 + 0.5417z^-1 + 0.625z^-2 + 0.3333z^-3K3 = 0.33330.8889
A2(z) = 1 + 0.375z^-1 + 0.5z^-2K2 = 0.50.75
A1(z) = 1 + 0.25z^-1K1 = 0.250.9375

K1 = 0.25, K2 = 0.5, K3 = 0.3333. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here every |K| is below 1, so it is minimum phase, meaning every zero lies inside the unit circle.

2074 Chaitra · Q65 marksDetermine the lattice coefficients coefficients corresponding to the FIR filter with the system function: H(z) = A3(z) = 1 + (52/96)z^-1 + (25/40)z^-2 + (1/3)z^-3

How this is read52/96 is 13/24 and 25/40 is 5/8, so this is the same filter the other sittings set in lowest terms.

The last coefficient of the polynomial is the reflection coefficient of that order. Step the order down with the Levinson Durbin recursion and read the next one off.

Km = alpha_m(m) alpha_m(k) - Km alpha_m(m-k) alpha_(m-1)(k) = ---------------------------- k = 1 .. m-1 1 - Km^2
Polynomial at this orderReflection coefficient1 - K^2
A3(z) = 1 + 0.5417z^-1 + 0.625z^-2 + 0.3333z^-3K3 = 0.33330.8889
A2(z) = 1 + 0.375z^-1 + 0.5z^-2K2 = 0.50.75
A1(z) = 1 + 0.25z^-1K1 = 0.250.9375

K1 = 0.25, K2 = 0.5, K3 = 0.3333. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here every |K| is below 1, so it is minimum phase, meaning every zero lies inside the unit circle.

2074 Ashwin · Q53+7 marksDraw the direct form and Lattice structure of a filter with system function H(z) = 1 + 0.7z^-1 + 1.2z^-2 - z^-3.

The direct form

Rearrange so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign, and that is where the marks are lost.

y[n] = x[n] + 0.7 x[n-1] + 1.2 x[n-2] + -1 x[n-3] H(z) = ( 1 + 0.7z^-1 + 1.2z^-2 - z^-3 ) / ( 1 ) feed forward b0 = 1, b1 = 0.7, b2 = 1.2, b3 = -1 feedback
x[n]+w[n]+y[n]b0 = 1z-10.7z-11.2z-1-1
Direct form II: one delay chain shared by both halves, 3 delays, which is the fewest possible.

Direct form I needs 3 + 0 = 3 delays; direct form II needs max(3, 0) = 3, and is therefore the canonic form. Both realize the same H(z).

The lattice structure

Step the order down as usual and read off the reflection coefficients.

A3(z) = 1 + 0.7z^-1 + 1.2z^-2 - z^-3 K3 = alpha_3(3) = -1 1 - K^2 = 1 - (-1)^2 = 0

The recursion stops here: the step down divides by 1 - K^2, which is zero. That is not an arithmetic accident. |K| = 1 means a zero of the filter sits exactly on the unit circle, and a lattice cannot represent it, because the all zero lattice realizes only minimum phase polynomials, whose zeros are strictly inside.

zeros of H(z): -0.6183 + j1.2171, -0.6183 - j1.2171, 0.5366 magnitudes: 1.3651, 1.3651, 0.5366

The lattice does not exist for this filter. K3 = -1, so 1 - K^2 = 0 and the recursion breaks down; the reason is the zeros on the unit circle. The filter is still perfectly stable, being FIR, and it is still realizable in direct form. Say that, show the breakdown, and draw the direct form instead: an answer that reports a genuine breakdown scores, and one that invents a number does not.

2073 Shrawan · Q53+7 marksThe system function of a filter is H(z) = 2 + 1.8z^-1 - 1.6z^-2 + z^-3. Draw the Direct Form and Lattice Structure implementation of the above filter.

The direct form

Rearrange so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign, and that is where the marks are lost.

y[n] = 2 x[n] + 1.8 x[n-1] + -1.6 x[n-2] + x[n-3] H(z) = ( 2 + 1.8z^-1 - 1.6z^-2 + z^-3 ) / ( 1 ) feed forward b0 = 2, b1 = 1.8, b2 = -1.6, b3 = 1 feedback
x[n]+w[n]+y[n]2z-11.8z-1-1.6z-11
Direct form II: one delay chain shared by both halves, 3 delays, which is the fewest possible.

Direct form I needs 3 + 0 = 3 delays; direct form II needs max(3, 0) = 3, and is therefore the canonic form. Both realize the same H(z).

The lattice structure

The leading coefficient is 2, and the recursion needs it to be 1. Divide through by it, find the lattice of 1 + 0.9z^-1 - 0.8z^-2 + 0.5z^-3, and put the gain 2 at the output.

The last coefficient of the polynomial is the reflection coefficient of that order. Step the order down with the Levinson Durbin recursion and read the next one off.

Km = alpha_m(m) alpha_m(k) - Km alpha_m(m-k) alpha_(m-1)(k) = ---------------------------- k = 1 .. m-1 1 - Km^2
Polynomial at this orderReflection coefficient1 - K^2
A3(z) = 1 + 0.9z^-1 - 0.8z^-2 + 0.5z^-3K3 = 0.50.75
A2(z) = 1 + 1.7333z^-1 - 1.6667z^-2K2 = -1.6667-1.7778
A1(z) = 1 - 2.6z^-1K1 = -2.6-5.76

K1 = -2.6, K2 = -1.6667, K3 = 0.5. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here not every |K| is below 1, so it is not minimum phase, meaning every zero lies inside the unit circle.

2072 Chaitra · Q75 marksCompute the lattice coefficients and draw the lattice structure of following FIR system. H(z) = 1 + 2z^-1 + z^-2

Step the order down as usual and read off the reflection coefficients.

A2(z) = 1 + 2z^-1 + z^-2 K2 = alpha_2(2) = 1 1 - K^2 = 1 - (1)^2 = 0

The recursion stops here: the step down divides by 1 - K^2, which is zero. That is not an arithmetic accident. |K| = 1 means a zero of the filter sits exactly on the unit circle, and a lattice cannot represent it, because the all zero lattice realizes only minimum phase polynomials, whose zeros are strictly inside.

zeros of H(z): -1, -1 magnitudes: 1, 1

The lattice does not exist for this filter. K2 = 1, so 1 - K^2 = 0 and the recursion breaks down; the reason is the double zero at z = -1 on the unit circle. The filter is still perfectly stable, being FIR, and it is still realizable in direct form. Say that, show the breakdown, and draw the direct form instead: an answer that reports a genuine breakdown scores, and one that invents a number does not.

2072 Kartik · Q76 marksCompute the lattice coefficients and draw the lattice structure of following FIR system H(z) = 1 + 2z^-1 - 3z^-2 + 4z^-3

The last coefficient of the polynomial is the reflection coefficient of that order. Step the order down with the Levinson Durbin recursion and read the next one off.

Km = alpha_m(m) alpha_m(k) - Km alpha_m(m-k) alpha_(m-1)(k) = ---------------------------- k = 1 .. m-1 1 - Km^2
Polynomial at this orderReflection coefficient1 - K^2
A3(z) = 1 + 2z^-1 - 3z^-2 + 4z^-3K3 = 4-15
A2(z) = 1 - 0.9333z^-1 + 0.7333z^-2K2 = 0.73330.4622
A1(z) = 1 - 0.5385z^-1K1 = -0.53850.7101

K1 = -0.5385, K2 = 0.7333, K3 = 4. An FIR filter is stable whatever its coefficients, since its impulse response is finite; here not every |K| is below 1, so it is not minimum phase, meaning every zero lies inside the unit circle.

Direct form realization HOT 6/19

Ch 4 · Filter structures6 questions, from 6 of the 19 sittings

The procedure, the same for every question in this topic
Given y[n] = sum b[k] x[n-k] - sum a[k] y[n-k], a0 = 1 DIRECT FORM I all zero section first, then all pole. delays: M + N DIRECT FORM II all pole section first, then all zero, SHARING one delay line through the node w[n]: w[n] = x[n] - a1 w[n-1] - a2 w[n-2] ... y[n] = b0 w[n] + b1 w[n-1] + b2 w[n-2] ... delays: max(M, N) CANONIC
  • Rearrange first, so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign; that is where the marks go.
  • a0 must be 1. 3y[n] + ... means dividing the whole equation by 3 first.
  • Why form II is allowed: H(z) = B(z) . 1/A(z) and an LTI cascade commutes, so 1/A(z) may go first; both halves then see the same w[n], so one delay chain serves both. Write that sentence beside the drawing.
Every answer in this topic
PaperQMarksThe answer
2082 BhadraQ52+2Direct form I needs 1 + 2 = 3 delays; direct form II needs max(1, 2) = 2, and is therefore the canonic form. Both realize the same H(z).
2079 BhadraQ52+2Direct form I needs 2 + 2 = 4 delays; direct form II needs max(2, 2) = 2, and is therefore the canonic form. Both realize the same H(z).
2079 BaishakhQ64Direct form I needs 1 + 2 = 3 delays; direct form II needs max(1, 2) = 2, and is therefore the canonic form. Both realize the same H(z).
2074 ChaitraQ55Direct form I needs 3 + 4 = 7 delays; direct form II needs max(3, 4) = 4, and is therefore the canonic form. Both realize the same H(z).
2072 ChaitraQ65Direct form I needs 2 + 2 = 4 delays; direct form II needs max(2, 2) = 2, and is therefore the canonic form. Both realize the same H(z).
2072 KartikQ64Direct form I needs 2 + 2 = 4 delays; direct form II needs max(2, 2) = 2, and is therefore the canonic form. Both realize the same H(z).
The checks that cost nothing
  • Count the delays and say the number: M + N against max(M, N). It is a mark.
  • Label every multiplier with its value and every box with z^-1. An unlabelled drawing scores nothing.
  • Read the graph back. Walk the drawing and re-derive the difference equation; if it does not come back, a sign is wrong.
2082 Bhadra · Q52+2 marksObtain the direct form I and direct form II realization of the following system: y[n] - 0.75y[n-1] - 0.25y[n-2] = x[n] + 0.5x[n-1]

Rearrange so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign, and that is where the marks are lost.

y[n] = x[n] + 0.5 x[n-1] + 0.75y[n-1] + 0.25y[n-2] H(z) = ( 1 + 0.5z^-1 ) / ( 1 - 0.75z^-1 - 0.25z^-2 ) feed forward b0 = 1, b1 = 0.5 feedback a1 = -0.75, so the multiplier is 0.75, a2 = -0.25, so the multiplier is 0.25
x[n]1+y[n]z-10.5z-10.75z-10.25
Direct form I: the all zero half first, then the all pole half, 1 + 2 = 3 delays.
x[n]+w[n]+y[n]b0 = 1z-10.750.5z-10.25
Direct form II: one delay chain shared by both halves, 2 delays, which is the fewest possible.

Direct form I needs 1 + 2 = 3 delays; direct form II needs max(1, 2) = 2, and is therefore the canonic form. Both realize the same H(z).

2079 Bhadra · Q52+2 marksDraw direct form I and Direct form II realization of the following system. y[n] - 0.25y[n-2] + x[n] + 0.4x[n-1] + 0.5x[n-2]

How this is readThe printed equation has a plus where the equals sign belongs. It reads y[n] - 0.25y[n-2] = x[n] + 0.4x[n-1] + 0.5x[n-2].

Rearrange so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign, and that is where the marks are lost.

y[n] = x[n] + 0.4 x[n-1] + 0.5 x[n-2] + 0.25y[n-2] H(z) = ( 1 + 0.4z^-1 + 0.5z^-2 ) / ( 1 - 0.25z^-2 ) feed forward b0 = 1, b1 = 0.4, b2 = 0.5 feedback a1 = 0, so the multiplier is 0, a2 = -0.25, so the multiplier is 0.25
x[n]1+y[n]z-10.4z-10.5z-10z-10.25
Direct form I: the all zero half first, then the all pole half, 2 + 2 = 4 delays.
x[n]+w[n]+y[n]b0 = 1z-10.4z-10.250.5
Direct form II: one delay chain shared by both halves, 2 delays, which is the fewest possible.

Direct form I needs 2 + 2 = 4 delays; direct form II needs max(2, 2) = 2, and is therefore the canonic form. Both realize the same H(z).

2079 Baishakh · Q64 marksObtain the Direct Form I and Direct Form II realization of the following system: y[n] - 0.75y[n-1] - 0.25y[n-2] = x[n] + 0.5x[n-1]

Rearrange so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign, and that is where the marks are lost.

y[n] = x[n] + 0.5 x[n-1] + 0.75y[n-1] + 0.25y[n-2] H(z) = ( 1 + 0.5z^-1 ) / ( 1 - 0.75z^-1 - 0.25z^-2 ) feed forward b0 = 1, b1 = 0.5 feedback a1 = -0.75, so the multiplier is 0.75, a2 = -0.25, so the multiplier is 0.25
x[n]1+y[n]z-10.5z-10.75z-10.25
Direct form I: the all zero half first, then the all pole half, 1 + 2 = 3 delays.
x[n]+w[n]+y[n]b0 = 1z-10.750.5z-10.25
Direct form II: one delay chain shared by both halves, 2 delays, which is the fewest possible.

Direct form I needs 1 + 2 = 3 delays; direct form II needs max(1, 2) = 2, and is therefore the canonic form. Both realize the same H(z).

2074 Chaitra · Q55 marksObtain the Direct Form I and Direct Form II realization of the following system. 3y[n] + y[n-1] + 2y[n-4] = 2x[n] + x[n-3]

The leading coefficient is 3, so divide the whole equation through by it first: a0 must be 1 before any structure is drawn.

Rearrange so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign, and that is where the marks are lost.

y[n] = 0.6667 x[n] + 0.3333 x[n-3] - 0.3333y[n-1] - 0.6667y[n-4] H(z) = ( 0.6667 + 0.3333z^-3 ) / ( 1 + 0.3333z^-1 + 0.6667z^-4 ) feed forward b0 = 0.6667, b1 = 0, b2 = 0, b3 = 0.3333 feedback a1 = 0.3333, so the multiplier is -0.3333, a2 = 0, so the multiplier is 0, a3 = 0, so the multiplier is 0, a4 = 0.6667, so the multiplier is -0.6667
x[n]0.6667+y[n]z-10z-10z-10.3333z-1-0.3333z-10z-10z-1-0.6667
Direct form I: the all zero half first, then the all pole half, 3 + 4 = 7 delays.
x[n]+w[n]+y[n]0.6667z-1-0.3333z-1z-10.3333z-1-0.6667
Direct form II: one delay chain shared by both halves, 4 delays, which is the fewest possible.

Direct form I needs 3 + 4 = 7 delays; direct form II needs max(3, 4) = 4, and is therefore the canonic form. Both realize the same H(z).

2072 Chaitra · Q65 marksDetermine the Direct Form I and Direct Form II realization of the following system. y(n) = -0.1y(n-1) + 0.2y(n-2) + 3x(n) + 3.6x(n-2) + 0.6x(n-2)

How this is readThe paper prints x(n-2) twice. The second is x(n-1), giving y(n) = -0.1y(n-1) + 0.2y(n-2) + 3x(n) + 3.6x(n-1) + 0.6x(n-2).

Rearrange so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign, and that is where the marks are lost.

y[n] = 3 x[n] + 3.6 x[n-1] + 0.6 x[n-2] - 0.1y[n-1] + 0.2y[n-2] H(z) = ( 3 + 3.6z^-1 + 0.6z^-2 ) / ( 1 + 0.1z^-1 - 0.2z^-2 ) feed forward b0 = 3, b1 = 3.6, b2 = 0.6 feedback a1 = 0.1, so the multiplier is -0.1, a2 = -0.2, so the multiplier is 0.2
x[n]3+y[n]z-13.6z-10.6z-1-0.1z-10.2
Direct form I: the all zero half first, then the all pole half, 2 + 2 = 4 delays.
x[n]+w[n]+y[n]3z-1-0.13.6z-10.20.6
Direct form II: one delay chain shared by both halves, 2 delays, which is the fewest possible.

Direct form I needs 2 + 2 = 4 delays; direct form II needs max(2, 2) = 2, and is therefore the canonic form. Both realize the same H(z).

2072 Kartik · Q64 marksDetermine the Direct Form II realization of the following system y(n) = -0.1y(n-1) + 0.72y(n-2) + 0.7x(n) - 0.252x(n-2)

Rearrange so that y[n] stands alone. The feedback coefficients change sign as they cross the equals sign, and that is where the marks are lost.

y[n] = 0.7 x[n] + -0.252 x[n-2] - 0.1y[n-1] + 0.72y[n-2] H(z) = ( 0.7 - 0.252z^-2 ) / ( 1 + 0.1z^-1 - 0.72z^-2 ) feed forward b0 = 0.7, b1 = 0, b2 = -0.252 feedback a1 = 0.1, so the multiplier is -0.1, a2 = -0.72, so the multiplier is 0.72
x[n]0.7+y[n]z-10z-1-0.252z-1-0.1z-10.72
Direct form I: the all zero half first, then the all pole half, 2 + 2 = 4 delays.
x[n]+w[n]+y[n]0.7z-1-0.1z-10.72-0.252
Direct form II: one delay chain shared by both halves, 2 delays, which is the fewest possible.

Direct form I needs 2 + 2 = 4 delays; direct form II needs max(2, 2) = 2, and is therefore the canonic form. Both realize the same H(z).

FIR design by windowing HOT 6/19

Ch 5 · FIR design6 questions, from 6 of the 19 sittings

The procedure, the same for every question in this topic
1 IDEAL RESPONSE hd[n] = sin( wc (n - tau) ) / ( pi (n - tau) ) hd[tau] = wc / pi, tau = (N-1)/2 2 READ THE SPEC transition dw = ws - wp, attenuation As in dB 3 CHOOSE THE WINDOW from the ATTENUATION, never from the width 4 FIND N from that window's transition rule, round up, take the next ODD value for a Type I linear phase filter 5 wc = (wp + ws)/2 6 h[n] = hd[n] . w[n] for n = 0 .. N-1 Rectangular 21 dB, 1.8 pi/N Hanning 44 dB, 6.2 pi/N Bartlett 25 dB, 6.1 pi/N Hamming 53 dB, 6.6 pi/N Blackman 74 dB, 11 pi/N
  • Ripple into decibels first: |H| <= 0.01 is As = 40 dB, so Hanning at 44 dB is the smallest window that does it. Saying why that window is worth a mark on its own.
  • Take the smallest window that reaches the attenuation. Choosing Blackman for a 40 dB filter is not wrong, it is wasteful, and the order roughly doubles.
Every answer in this topic
PaperQMarksThe answer
2082 BhadraQ710A Hanning window, length N = 21, cut off wc = 1.0996 rad and group delay 10 samples. The first coefficients are {0, -0.00039, 0.00223, 0.00926, 0.00566, -0.02251}, and H(z) = sum of h[n] z^-n over n = 0 to 20.
2081 BhadraQ68A Hanning window, length N = 125, cut off wc = 1.021 rad and group delay 62 samples. The first coefficients are {0, 0, -0.00001, -0.00002, 0.00003, 0.00009}, and H(z) = sum of h[n] z^-n over n = 0 to 124.
2081 BaishakhQ610A Hanning window, length N = 125, cut off wc = 1.021 rad and group delay 62 samples. The first coefficients are {0, 0, -0.00001, -0.00002, 0.00003, 0.00009}, and H(z) = sum of h[n] z^-n over n = 0 to 124.
2080 BhadraQ610A Hanning window, length N = 7, cut off wc = 1 rad and group delay 3 samples. The first coefficients are {0, 0.03618, 0.20089, 0.31831, 0.20089, 0.03618}, and H(z) = sum of h[n] z^-n over n = 0 to 6.
2079 BaishakhQ75+3A Hamming window, length N = 27, cut off wc = 1.021 rad and group delay 13 samples. The first coefficients are {0.00127, -0.00077, -0.00373, -0.0044, 0.0023, 0.01426}, and H(z) = sum of h[n] z^-n over n = 0 to 26.
2076 ChaitraQ86A Hanning window, length N = 31, cut off wc = 0.9425 rad and group delay 15 samples. The first coefficients are {0, 0.00015, -0.00033, -0.00241, -0.00387, 0}, and H(z) = sum of h[n] z^-n over n = 0 to 30.
The checks that cost nothing
  • h[n] must be symmetric about tau. It is automatic, and checking it catches an arithmetic slip immediately.
  • h[tau] = wc/pi, the largest coefficient, and it is the 0/0 limit of the formula.
  • The window is zero at both ends for Hanning and Blackman, so h[0] = h[N-1] = 0. That is expected, not an error.
2082 Bhadra · Q710 marksDesign a linear phase FIR system to meet the following specifications: Passband edge = 2 kHz, Stopband edge = 5 kHz, Stopband attenuation = 42 dB, Sampling frequency = 20 kHz

How this is readw = 2 pi f / fs turns the edges into 2 pi (2000)/20000 = 0.2 pi and 2 pi (5000)/20000 = 0.5 pi radians per sample.

Convert the edges to radians per sample with w = 2 pi f / fs, with fs = 20000 Hz.

The window is chosen by the stopband attenuation, never by the transition width: take the smallest window that reaches 42 dB.

WindowStopband attenuationTransition width
Rectangular21 dB1.8 pi / Ntoo weak
Bartlett25 dB6.1 pi / Ntoo weak
Hanning44 dB6.2 pi / Nchosen
Hamming53 dB6.6 pi / N
Blackman74 dB11 pi / N

Hanning gives 44 dB, which meets the 42 dB asked for, and is the smallest that does.

transition width dw = ws - wp = 1.5708 - 0.6283 = 0.9425 rad N >= 6.2 pi / dw = 6.2 pi / 0.9425 = 20.67 round up, and take the next ODD value: N = 21
cut off wc = (wp + ws)/2 = (0.6283 + 1.5708)/2 = 1.0996 rad delay tau = (N-1)/2 = 10 samples ideal response hd[n] = sin( wc (n - tau) ) / ( pi (n - tau) ) hd[tau] = wc / pi = 0.35 window w[n] = 0.5 - 0.5 cos( 2 pi n / (N-1) )
nhd[n]w[n]h[n] = hd[n] w[n]
0-0.0318300
1-0.016060.02447-0.00039
20.023390.095490.00223
30.044910.206110.00926
40.016390.345490.00566
5-0.045020.5-0.02251
6-0.075680.65451-0.04953
7-0.01660.79389-0.01318
80.128760.904510.11646
90.283620.975530.27668
100.3510.35
110.283620.975530.27668
120.128760.904510.11646

The remaining coefficients follow from the symmetry h[n] = h[20 - n], which every linear phase filter has.

A Hanning window, length N = 21, cut off wc = 1.0996 rad and group delay 10 samples. The first coefficients are {0, -0.00039, 0.00223, 0.00926, 0.00566, -0.02251}, and H(z) = sum of h[n] z^-n over n = 0 to 20.

2081 Bhadra · Q68 marksDesign a low pass FIR filter using suitable window to meet following specifications: 0.99 <= |H(e^jw)| <= 1.01 for 0 <= |w| <= 0.3pi; |H(e^jw)| <= 0.01 for 0.35pi <= |w| <= pi

Turn the ripple into decibels first: passband ripple 0.01 means Ap = -20 log10(1 - 0.01) = 0.09 dB; stopband ripple 0.01 means As = -20 log10(0.01) = 40 dB.

The window is chosen by the stopband attenuation, never by the transition width: take the smallest window that reaches 40 dB.

WindowStopband attenuationTransition width
Rectangular21 dB1.8 pi / Ntoo weak
Bartlett25 dB6.1 pi / Ntoo weak
Hanning44 dB6.2 pi / Nchosen
Hamming53 dB6.6 pi / N
Blackman74 dB11 pi / N

Hanning gives 44 dB, which meets the 40 dB asked for, and is the smallest that does.

transition width dw = ws - wp = 1.0996 - 0.9425 = 0.1571 rad N >= 6.2 pi / dw = 6.2 pi / 0.1571 = 124 round up, and take the next ODD value: N = 125
cut off wc = (wp + ws)/2 = (0.9425 + 1.0996)/2 = 1.021 rad delay tau = (N-1)/2 = 62 samples ideal response hd[n] = sin( wc (n - tau) ) / ( pi (n - tau) ) hd[tau] = wc / pi = 0.325 window w[n] = 0.5 - 0.5 cos( 2 pi n / (N-1) )
nhd[n]w[n]h[n] = hd[n] w[n]
00.0023300
1-0.002730.000640
2-0.005310.00257-0.00001
3-0.002820.00577-0.00002
40.002490.010240.00003
50.005570.015960.00009
60.003340.022930.00008
7-0.002210.03112-0.00007
8-0.005820.04052-0.00024
9-0.00390.0511-0.0002
100.001890.062830.00012
110.006070.075680.00046
120.00450.089620.0004

The remaining coefficients follow from the symmetry h[n] = h[124 - n], which every linear phase filter has.

A Hanning window, length N = 125, cut off wc = 1.021 rad and group delay 62 samples. The first coefficients are {0, 0, -0.00001, -0.00002, 0.00003, 0.00009}, and H(z) = sum of h[n] z^-n over n = 0 to 124.

2081 Baishakh · Q610 marksDesign a linear phase FIR filter using suitable window to meet following specifications: 0.99 <= |H(e^jw)| <= 1.01 for 0 <= |w| <= 0.3pi; |H(e^jw)| <= 0.01 for 0.35pi <= |w| <= pi

Turn the ripple into decibels first: passband ripple 0.01 means Ap = -20 log10(1 - 0.01) = 0.09 dB; stopband ripple 0.01 means As = -20 log10(0.01) = 40 dB.

The window is chosen by the stopband attenuation, never by the transition width: take the smallest window that reaches 40 dB.

WindowStopband attenuationTransition width
Rectangular21 dB1.8 pi / Ntoo weak
Bartlett25 dB6.1 pi / Ntoo weak
Hanning44 dB6.2 pi / Nchosen
Hamming53 dB6.6 pi / N
Blackman74 dB11 pi / N

Hanning gives 44 dB, which meets the 40 dB asked for, and is the smallest that does.

transition width dw = ws - wp = 1.0996 - 0.9425 = 0.1571 rad N >= 6.2 pi / dw = 6.2 pi / 0.1571 = 124 round up, and take the next ODD value: N = 125
cut off wc = (wp + ws)/2 = (0.9425 + 1.0996)/2 = 1.021 rad delay tau = (N-1)/2 = 62 samples ideal response hd[n] = sin( wc (n - tau) ) / ( pi (n - tau) ) hd[tau] = wc / pi = 0.325 window w[n] = 0.5 - 0.5 cos( 2 pi n / (N-1) )
nhd[n]w[n]h[n] = hd[n] w[n]
00.0023300
1-0.002730.000640
2-0.005310.00257-0.00001
3-0.002820.00577-0.00002
40.002490.010240.00003
50.005570.015960.00009
60.003340.022930.00008
7-0.002210.03112-0.00007
8-0.005820.04052-0.00024
9-0.00390.0511-0.0002
100.001890.062830.00012
110.006070.075680.00046
120.00450.089620.0004

The remaining coefficients follow from the symmetry h[n] = h[124 - n], which every linear phase filter has.

A Hanning window, length N = 125, cut off wc = 1.021 rad and group delay 62 samples. The first coefficients are {0, 0, -0.00001, -0.00002, 0.00003, 0.00009}, and H(z) = sum of h[n] z^-n over n = 0 to 124.

2080 Bhadra · Q610 marksDesign the symmetric FIR Low Pass Filter (LPF) for which the desired frequency response is expressed as Hd(W) = e^(-jW tau) for |W| <= Wc and 0 elsewhere. The length of the filter should be 7 and Wc = 1 rad/sample. Make use of the Hanning window.

How this is readHd(W) = e^(-jW tau) for |W| <= Wc is the ideal low pass with the delay already in it, so hd[n] is the shifted sinc. The question fixes N = 7, Wc = 1 rad per sample and the Hanning window.

The question names the Hanning window, so there is no choosing to do.

The question fixes the length at N = 7.

cut off wc = 1 rad, given by the question delay tau = (N-1)/2 = 3 samples ideal response hd[n] = sin( wc (n - tau) ) / ( pi (n - tau) ) hd[tau] = wc / pi = 0.3183 window w[n] = 0.5 - 0.5 cos( 2 pi n / (N-1) )
nhd[n]w[n]h[n] = hd[n] w[n]
00.0149700
10.144720.250.03618
20.267850.750.20089
30.3183110.31831
40.267850.750.20089
50.144720.250.03618
60.0149700

A Hanning window, length N = 7, cut off wc = 1 rad and group delay 3 samples. The first coefficients are {0, 0.03618, 0.20089, 0.31831, 0.20089, 0.03618}, and H(z) = sum of h[n] z^-n over n = 0 to 6.

2079 Baishakh · Q75+3 marksDesign a low pass digital FIR filter having Pass band edge frequency w_p = 0.2pi, Stop band edge frequency w_s = 0.45pi and Stop band attenuation a_s = 51 dB using any appropriate window function.

The window is chosen by the stopband attenuation, never by the transition width: take the smallest window that reaches 51 dB.

WindowStopband attenuationTransition width
Rectangular21 dB1.8 pi / Ntoo weak
Bartlett25 dB6.1 pi / Ntoo weak
Hanning44 dB6.2 pi / Ntoo weak
Hamming53 dB6.6 pi / Nchosen
Blackman74 dB11 pi / N

Hamming gives 53 dB, which meets the 51 dB asked for, and is the smallest that does.

transition width dw = ws - wp = 1.4137 - 0.6283 = 0.7854 rad N >= 6.6 pi / dw = 6.6 pi / 0.7854 = 26.4 round up, and take the next ODD value: N = 27
cut off wc = (wp + ws)/2 = (0.6283 + 1.4137)/2 = 1.021 rad delay tau = (N-1)/2 = 13 samples ideal response hd[n] = sin( wc (n - tau) ) / ( pi (n - tau) ) hd[tau] = wc / pi = 0.325 window w[n] = 0.54 - 0.46 cos( 2 pi n / (N-1) )
nhd[n]w[n]h[n] = hd[n] w[n]
00.01590.080.00127
1-0.00820.09337-0.00077
2-0.028140.13269-0.00373
3-0.022510.19569-0.0044
40.008260.278690.0023
50.037840.376880.01426
60.034580.484550.01675
7-0.00830.59545-0.00494
8-0.058820.70312-0.04135
9-0.064380.80131-0.05159
100.008320.884310.00736
110.141810.947310.13434
120.27140.986630.26778

The remaining coefficients follow from the symmetry h[n] = h[26 - n], which every linear phase filter has.

A Hamming window, length N = 27, cut off wc = 1.021 rad and group delay 13 samples. The first coefficients are {0.00127, -0.00077, -0.00373, -0.0044, 0.0023, 0.01426}, and H(z) = sum of h[n] z^-n over n = 0 to 26.

2076 Chaitra · Q86 marksDesign the FIR filter using suitable window for the specifications: 0.899 <= |H(e^jw)| <= 1 for |w| <= 0.2pi; |H(e^jw)| <= 0.01 for 0.4pi <= w <= pi

How this is read0.899 <= |H| <= 1 gives a passband ripple of 0.101 and |H| <= 0.01 gives As = 40 dB, which is what chooses the window.

Turn the ripple into decibels first: passband ripple 0.101 means Ap = -20 log10(1 - 0.101) = 0.92 dB; stopband ripple 0.01 means As = -20 log10(0.01) = 40 dB.

The window is chosen by the stopband attenuation, never by the transition width: take the smallest window that reaches 40 dB.

WindowStopband attenuationTransition width
Rectangular21 dB1.8 pi / Ntoo weak
Bartlett25 dB6.1 pi / Ntoo weak
Hanning44 dB6.2 pi / Nchosen
Hamming53 dB6.6 pi / N
Blackman74 dB11 pi / N

Hanning gives 44 dB, which meets the 40 dB asked for, and is the smallest that does.

transition width dw = ws - wp = 1.2566 - 0.6283 = 0.6283 rad N >= 6.2 pi / dw = 6.2 pi / 0.6283 = 31 round up, and take the next ODD value: N = 31
cut off wc = (wp + ws)/2 = (0.6283 + 1.2566)/2 = 0.9425 rad delay tau = (N-1)/2 = 15 samples ideal response hd[n] = sin( wc (n - tau) ) / ( pi (n - tau) ) hd[tau] = wc / pi = 0.3 window w[n] = 0.5 - 0.5 cos( 2 pi n / (N-1) )
nhd[n]w[n]h[n] = hd[n] w[n]
00.0212200
10.013360.010930.00015
2-0.007570.04323-0.00033
3-0.025230.09549-0.00241
4-0.023410.16543-0.00387
500.250
60.028610.345490.00989
70.037840.447740.01694
80.014050.552260.00776
9-0.031180.65451-0.02041
10-0.063660.75-0.04775
11-0.046770.83457-0.03904
120.032790.904510.02966

The remaining coefficients follow from the symmetry h[n] = h[30 - n], which every linear phase filter has.

A Hanning window, length N = 31, cut off wc = 0.9425 rad and group delay 15 samples. The first coefficients are {0, 0.00015, -0.00033, -0.00241, -0.00387, 0}, and H(z) = sum of h[n] z^-n over n = 0 to 30.

Periodicity and the fundamental period HOT 4/19

Ch 1 · Signals and systems4 questions, from 4 of the 19 sittings

The procedure, the same for every question in this topic
periodic <=> w0 / (2 pi) is RATIONAL write w0/(2 pi) = k/N in LOWEST TERMS => fundamental period = N several components: N = LCM(N1, N2, ...) any aperiodic component => the whole signal is aperiodic
  • Only the coefficient of n matters. The phase never affects periodicity.
  • No pi in w0 means aperiodic: sin(0.8n) has w0/2pi = 0.4/pi, irrational.
  • A product is handled like a sum: find each component's period and take the LCM.
Every answer in this topic
PaperQMarksThe answer
2081 BhadraQ14x[n] = cos(2 pi n/5) + sin(pi n/3) is periodic with fundamental period N = 30 samples.
2080 BhadraQ25x[n] = e^(j pi n/16) cos(n pi/17) is periodic with fundamental period N = 544 samples.
2080 BaishakhQ12+2x[n] = sin(n pi) + cos(n pi) is periodic with fundamental period N = 2 samples. x[n] = sin(3n pi/5) + cos(4n pi/7) is periodic with fundamental period N = 70 samples.
2078 BhadraQ14x[n] = cos(pi n/2) cos(pi n/4) is periodic with fundamental period N = 8 samples.
The checks that cost nothing
  • N must be a positive integer. That is the entire difference from continuous time.
  • Lowest terms. Failing to reduce k/N gives a period that is a multiple of the fundamental one, which is periodic but not the answer.
  • Substitute back: x[n + N] must equal x[n]. One sample is enough to catch an error.
2081 Bhadra · Q14 marksDetermine if the signal x[n] = cos(2pi n/5) + sin(pi n/3) is periodic or not. If the signal is periodic, find its fundamental period.

A discrete time sinusoid is periodic only if w0 / (2 pi) is rational. Reduce it to k/N in lowest terms and N is the period of that component; for several components take the LCM.

Componentw0w0 / 2 pi, lowest termsPeriod
cos(2 pi n/5)2 pi / 51 / 55
sin(pi n/3)pi / 31 / 66

N = LCM(5, 6) = 30.

x[n] = cos(2 pi n/5) + sin(pi n/3) is periodic with fundamental period N = 30 samples.

2080 Bhadra · Q25 marksDetermine whether the given signal is periodic or not. If the signal is periodic, determine the fundamental period x[n] = e^(j pi n/16) cos(n pi/17).

A discrete time sinusoid is periodic only if w0 / (2 pi) is rational. Reduce it to k/N in lowest terms and N is the period of that component; for several components take the LCM.

Componentw0w0 / 2 pi, lowest termsPeriod
e^(j pi n/16)pi / 161 / 3232
cos(n pi/17)pi / 171 / 3434

N = LCM(32, 34) = 544.

x[n] = e^(j pi n/16) cos(n pi/17) is periodic with fundamental period N = 544 samples.

2080 Baishakh · Q12+2 marksCheck whether following signals are periodic or not. If yes, state their periodic time. a) x[n] = Sin(n pi) + Cos(n pi) b) x[n] = Sin(3n pi/5) + Cos(4n pi/7)

a) sin(n pi) + cos(n pi)

A discrete time sinusoid is periodic only if w0 / (2 pi) is rational. Reduce it to k/N in lowest terms and N is the period of that component; for several components take the LCM.

Componentw0w0 / 2 pi, lowest termsPeriod
sin(n pi)pi1 / 22
cos(n pi)pi1 / 22

N = LCM(2, 2) = 2.

x[n] = sin(n pi) + cos(n pi) is periodic with fundamental period N = 2 samples.

b) sin(3n pi/5) + cos(4n pi/7)

A discrete time sinusoid is periodic only if w0 / (2 pi) is rational. Reduce it to k/N in lowest terms and N is the period of that component; for several components take the LCM.

Componentw0w0 / 2 pi, lowest termsPeriod
sin(3 pi n/5)3 pi / 53 / 1010
cos(4 pi n/7)4 pi / 72 / 77

N = LCM(10, 7) = 70.

x[n] = sin(3n pi/5) + cos(4n pi/7) is periodic with fundamental period N = 70 samples.

2078 Bhadra · Q14 marksDetermine whether the signal x[n] = cos(pi n/2) cos(pi n/4) is periodic or non periodic and if it is periodic, find its fundamental period.

A discrete time sinusoid is periodic only if w0 / (2 pi) is rational. Reduce it to k/N in lowest terms and N is the period of that component; for several components take the LCM.

Componentw0w0 / 2 pi, lowest termsPeriod
cos(pi n/2)pi / 21 / 44
cos(pi n/4)pi / 41 / 88

N = LCM(4, 8) = 8.

x[n] = cos(pi n/2) cos(pi n/4) is periodic with fundamental period N = 8 samples.

The FFT, decimation in frequency HOT 4/19

Ch 7 · DFT and FFT4 questions, from 4 of the 19 sittings

The procedure, the same for every question in this topic
SPLIT a[n] = x[n] + x[n + N/2] feeds the EVEN outputs b[n] = ( x[n] - x[n + N/2] ) WN^n feeds the ODD outputs BUTTERFLY a --------o------> a + b X the twiddle multiplies the b --------o--[W]-> (a - b) WN^r DIFFERENCE, AFTER the add and subtract ORDER input natural, output BIT REVERSED. N = 8: X[0], X[4], X[2], X[6], X[1], X[5], X[3], X[7] STAGES log2 N stages of N/2 butterflies. The LAST stage twiddles are all 1.
  • DIF is DIT with the twiddle moved. Same cost, same butterflies, the multiply after the subtraction instead of before, and the bit reversal at the other end.
  • Label the outputs. Writing them down the page in natural order is the classic lost mark here.
Every answer in this topic
PaperQMarksThe answer
2082 BhadraQ118X[k] = {0.5, 0.7678 - j0.0607, 4 + j0.5, -2.7678 - j2.0607, 3.5, -2.7678 + j2.0607, 4 - j0.5, 0.7678 + j0.0607}. Two free checks: X[0] = 0.5, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.
2080 BhadraQ98X[k] = {12, 1 + j0.4142, 0, 1 + j2.4142, 0, 1 - j2.4142, 0, 1 - j0.4142}. Two free checks: X[0] = 12, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.
2076 ChaitraQ117X[k] = {24, -0.4645 + j1.7071, -1 + j7, -7.5355 - j0.2929, 2, -7.5355 + j0.2929, -1 - j7, -0.4645 - j1.7071}. Two free checks: X[0] = 24, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.
2074 AshwinQ97X[k] = {2, 0.5 - j1.2071, 0, 0.5 - j0.2071, 0, 0.5 + j0.2071, 0, 0.5 + j1.2071}. Two free checks: X[0] = 2, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.
The checks that cost nothing
  • X[0] is the sum of the samples, and it comes out of the top wire.
  • Conjugate symmetry for a real input, as in DIT.
  • Compare against the DIT answer if the same sequence appears in another paper: the two must agree exactly, because they compute the same DFT.
2082 Bhadra · Q118 marksFind 8-point DFT using DIF-FFT of the sequence x[n] = {1, 1/2, -1, -1/2, 2, -3/2}.
What is different in this one
  • The sequence has 6 samples, not a power of two, so it is zero padded to N = 8 before the algorithm starts. Say so in the answer: a radix 2 FFT cannot run on 6 points.

The sequence has 6 samples, and a radix 2 FFT needs a power of two, so zero pad to N = 8 and say so: x[n] = {1, 0.5, -1, -0.5, 2, -1.5, 0, 0}.

Decimation in frequency: the input stays in natural order and the output comes out bit reversed, so the last step is to relabel it.

Stage 1, 4 butterflies with twiddles W8^0, W8^1, W8^2, W8^3 applied to the differences:

3 -1 -1 -0.5 -1 1.4142 - j1.4142 j1 0.3536 + j0.3536

Stage 2, 4 butterflies with twiddles W4^0, W4^1 applied to the differences:

2 -1.5 4 j0.5 -1 + j1 1.7678 - j1.0607 -1 - j1 -1.7678 - j1.0607

Stage 3, 4 butterflies with twiddles W2^0 applied to the differences:

0.5 3.5 4 + j0.5 4 - j0.5 0.7678 - j0.0607 -2.7678 + j2.0607 -2.7678 - j2.0607 0.7678 + j0.0607

Read the output in bit reversed order: X[0], X[4], X[2], X[6], X[1], X[5], X[3], X[7].

kX[k]MagnitudePhase, degrees
X[0]0.50.50
X[1]0.7678 - j0.06070.7702-4.52
X[2]4 + j0.54.03117.13
X[3]-2.7678 - j2.06073.4506-143.33
X[4]3.53.50
X[5]-2.7678 + j2.06073.4506143.33
X[6]4 - j0.54.0311-7.13
X[7]0.7678 + j0.06070.77024.52

X[k] = {0.5, 0.7678 - j0.0607, 4 + j0.5, -2.7678 - j2.0607, 3.5, -2.7678 + j2.0607, 4 - j0.5, 0.7678 + j0.0607}. Two free checks: X[0] = 0.5, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.

2080 Bhadra · Q98 marksCompute 8-point DIF-FFT of sequence x(n) = {2, 1, 2, 1, 1, 2, 1, 2}.

N = 8, which is 2^3, so the transform takes 3 stages of 4 butterflies.

Decimation in frequency: the input stays in natural order and the output comes out bit reversed, so the last step is to relabel it.

Stage 1, 4 butterflies with twiddles W8^0, W8^1, W8^2, W8^3 applied to the differences:

3 3 3 3 1 -0.7071 + j0.7071 -j1 0.7071 + j0.7071

Stage 2, 4 butterflies with twiddles W4^0, W4^1 applied to the differences:

6 6 0 0 1 - j1 j1.4142 1 + j1 j1.4142

Stage 3, 4 butterflies with twiddles W2^0 applied to the differences:

12 0 0 0 1 + j0.4142 1 - j2.4142 1 + j2.4142 1 - j0.4142

Read the output in bit reversed order: X[0], X[4], X[2], X[6], X[1], X[5], X[3], X[7].

kX[k]MagnitudePhase, degrees
X[0]12120
X[1]1 + j0.41421.082422.5
X[2]000
X[3]1 + j2.41422.613167.5
X[4]000
X[5]1 - j2.41422.6131-67.5
X[6]000
X[7]1 - j0.41421.0824-22.5

X[k] = {12, 1 + j0.4142, 0, 1 + j2.4142, 0, 1 - j2.4142, 0, 1 - j0.4142}. Two free checks: X[0] = 12, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.

2076 Chaitra · Q117 marksFind 8-point DFT of sequence x[n] = {1, 2, 3, 3, 5, 0, 4, 6} using Decimation in frequency Fast Fourier Transform (DIFFFT) algorithm.

N = 8, which is 2^3, so the transform takes 3 stages of 4 butterflies.

Decimation in frequency: the input stays in natural order and the output comes out bit reversed, so the last step is to relabel it.

Stage 1, 4 butterflies with twiddles W8^0, W8^1, W8^2, W8^3 applied to the differences:

6 2 7 9 -4 1.4142 - j1.4142 j1 2.1213 + j2.1213

Stage 2, 4 butterflies with twiddles W4^0, W4^1 applied to the differences:

13 11 -1 j7 -4 + j1 3.5355 + j0.7071 -4 - j1 -3.5355 + j0.7071

Stage 3, 4 butterflies with twiddles W2^0 applied to the differences:

24 2 -1 + j7 -1 - j7 -0.4645 + j1.7071 -7.5355 + j0.2929 -7.5355 - j0.2929 -0.4645 - j1.7071

Read the output in bit reversed order: X[0], X[4], X[2], X[6], X[1], X[5], X[3], X[7].

kX[k]MagnitudePhase, degrees
X[0]24240
X[1]-0.4645 + j1.70711.7692105.22
X[2]-1 + j77.071198.13
X[3]-7.5355 - j0.29297.5412-177.77
X[4]220
X[5]-7.5355 + j0.29297.5412177.77
X[6]-1 - j77.0711-98.13
X[7]-0.4645 - j1.70711.7692-105.22

X[k] = {24, -0.4645 + j1.7071, -1 + j7, -7.5355 - j0.2929, 2, -7.5355 + j0.2929, -1 - j7, -0.4645 - j1.7071}. Two free checks: X[0] = 24, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.

2074 Ashwin · Q97 marksCompute the 8-point DFT of the sequence x[n] = {1/2, 1/2, 1/2, 1/2, 0, 0, 0, 0} using Decimation in Frequency Fast Fourier Transform (DIF-FFT) algorithm.

N = 8, which is 2^3, so the transform takes 3 stages of 4 butterflies.

Decimation in frequency: the input stays in natural order and the output comes out bit reversed, so the last step is to relabel it.

Stage 1, 4 butterflies with twiddles W8^0, W8^1, W8^2, W8^3 applied to the differences:

0.5 0.5 0.5 0.5 0.5 0.3536 - j0.3536 -j0.5 -0.3536 - j0.3536

Stage 2, 4 butterflies with twiddles W4^0, W4^1 applied to the differences:

1 1 0 0 0.5 - j0.5 -j0.7071 0.5 + j0.5 -j0.7071

Stage 3, 4 butterflies with twiddles W2^0 applied to the differences:

2 0 0 0 0.5 - j1.2071 0.5 + j0.2071 0.5 - j0.2071 0.5 + j1.2071

Read the output in bit reversed order: X[0], X[4], X[2], X[6], X[1], X[5], X[3], X[7].

kX[k]MagnitudePhase, degrees
X[0]220
X[1]0.5 - j1.20711.3066-67.5
X[2]000
X[3]0.5 - j0.20710.5412-22.5
X[4]000
X[5]0.5 + j0.20710.541222.5
X[6]000
X[7]0.5 + j1.20711.306667.5

X[k] = {2, 0.5 - j1.2071, 0, 0.5 - j0.2071, 0, 0.5 + j0.2071, 0, 0.5 + j1.2071}. Two free checks: X[0] = 2, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.

The FFT, decimation in time HOT 4/19

Ch 7 · DFT and FFT4 questions, from 4 of the 19 sittings

The procedure, the same for every question in this topic
SPLIT X[k] = G[k] + WN^k H[k], G from the EVEN samples X[k + N/2] = G[k] - WN^k H[k], H from the ODD samples BUTTERFLY a --------o------> a + WN^r b X the twiddle multiplies the b --[W]---o------> a - WN^r b SECOND input, BEFORE the add and subtract ORDER input BIT REVERSED, output natural. N = 8: x[0], x[4], x[2], x[6], x[1], x[5], x[3], x[7] STAGES log2 N stages of N/2 butterflies. Stage 1 twiddles are all 1, so it is pure add and subtract. W8^0 = 1 W8^1 = 0.707 - j0.707 W8^2 = -j W8^3 = -0.707 - j0.707
  • Pad to a power of two first. Six or seven given samples means an 8 point transform with zeros appended, and saying so is part of the answer.
Every answer in this topic
PaperQMarksThe answer
2078 BhadraQ117X[k] = {4, 1 - j2.4142, 0, 1 - j0.4142, 0, 1 + j0.4142, 0, 1 + j2.4142}. Two free checks: X[0] = 4, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.
2072 ChaitraQ118X[k] = {15, -4.1213 - j2.1213, j3, 0.1213 - j2.1213, 1, 0.1213 + j2.1213, -j3, -4.1213 + j2.1213}. Two free checks: X[0] = 15, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.
2072 KartikQ107X[k] = {6, 0.2929 + j1.2929, -1 - j1, 1.7071 - j2.7071, 0, 1.7071 + j2.7071, -1 + j1, 0.2929 - j1.2929}. Two free checks: X[0] = 6, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.
2071 ShrawanQ106+2X[k] = {8, -j0.5858, -j2, j3.4142, 0, -j3.4142, j2, j0.5858}. Two free checks: X[0] = 8, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.
The checks that cost nothing
  • X[0] is the sum of all the samples. One addition, and it catches a stage error instantly.
  • Conjugate symmetry for a real input: X[N-k] = X*[k], so X[5] = X*[3] and X[6] = X*[2]. Half the transform checks the other half.
  • Parseval: sum |x[n]|^2 = (1/N) sum |X[k]|^2, if you have time.
2078 Bhadra · Q117 marksFind the 8-point DFT of x[n] = u[n] - u[n-4] using FFT DIT algorithm.

How this is readx[n] = u[n] - u[n-4] is {1, 1, 1, 1} for n = 0 to 3, and zero to n = 7.

N = 8, which is 2^3, so the transform takes 3 stages of 4 butterflies.

Decimation in time: the input goes in bit reversed order and the output comes out in natural order. For N = 8 that input order is x[0], x[4], x[2], x[6], x[1], x[5], x[3], x[7].

Stage 1, 4 butterflies with twiddles W2^0:

1 1 1 1 1 1 1 1

Stage 2, 4 butterflies with twiddles W4^0, W4^1:

2 1 - j1 0 1 + j1 2 1 - j1 0 1 + j1

Stage 3, 4 butterflies with twiddles W8^0, W8^1, W8^2, W8^3:

4 1 - j2.4142 0 1 - j0.4142 0 1 + j0.4142 0 1 + j2.4142
kX[k]MagnitudePhase, degrees
X[0]440
X[1]1 - j2.41422.6131-67.5
X[2]000
X[3]1 - j0.41421.0824-22.5
X[4]000
X[5]1 + j0.41421.082422.5
X[6]000
X[7]1 + j2.41422.613167.5

X[k] = {4, 1 - j2.4142, 0, 1 - j0.4142, 0, 1 + j0.4142, 0, 1 + j2.4142}. Two free checks: X[0] = 4, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.

2072 Chaitra · Q118 marksFind the FFT of the signal x[n] {1, 1, 2, 4, 3, 1, 2, 1} using DIT-FFT algorithm.

N = 8, which is 2^3, so the transform takes 3 stages of 4 butterflies.

Decimation in time: the input goes in bit reversed order and the output comes out in natural order. For N = 8 that input order is x[0], x[4], x[2], x[6], x[1], x[5], x[3], x[7].

Stage 1, 4 butterflies with twiddles W2^0:

4 -2 4 0 2 0 5 3

Stage 2, 4 butterflies with twiddles W4^0, W4^1:

8 -2 0 -2 7 -j3 -3 j3

Stage 3, 4 butterflies with twiddles W8^0, W8^1, W8^2, W8^3:

15 -4.1213 - j2.1213 j3 0.1213 - j2.1213 1 0.1213 + j2.1213 -j3 -4.1213 + j2.1213
kX[k]MagnitudePhase, degrees
X[0]15150
X[1]-4.1213 - j2.12134.6352-152.76
X[2]j3390
X[3]0.1213 - j2.12132.1248-86.73
X[4]110
X[5]0.1213 + j2.12132.124886.73
X[6]-j33-90
X[7]-4.1213 + j2.12134.6352152.76

X[k] = {15, -4.1213 - j2.1213, j3, 0.1213 - j2.1213, 1, 0.1213 + j2.1213, -j3, -4.1213 + j2.1213}. Two free checks: X[0] = 15, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.

2072 Kartik · Q107 marksFind 8-point DFT of sequence x[n] = {1, 1, 0, 1, 0, 1, 2} using Decimation in Time Fast Fourier Transform (DITFFT) algorithm.
What is different in this one
  • The sequence has 7 samples, not a power of two, so it is zero padded to N = 8 before the algorithm starts. Say so in the answer: a radix 2 FFT cannot run on 7 points.

The sequence has 7 samples, and a radix 2 FFT needs a power of two, so zero pad to N = 8 and say so: x[n] = {1, 1, 0, 1, 0, 1, 2, 0}.

Decimation in time: the input goes in bit reversed order and the output comes out in natural order. For N = 8 that input order is x[0], x[4], x[2], x[6], x[1], x[5], x[3], x[7].

Stage 1, 4 butterflies with twiddles W2^0:

1 1 2 -2 2 0 1 1

Stage 2, 4 butterflies with twiddles W4^0, W4^1:

3 1 + j2 -1 1 - j2 3 -j1 1 j1

Stage 3, 4 butterflies with twiddles W8^0, W8^1, W8^2, W8^3:

6 0.2929 + j1.2929 -1 - j1 1.7071 - j2.7071 0 1.7071 + j2.7071 -1 + j1 0.2929 - j1.2929
kX[k]MagnitudePhase, degrees
X[0]660
X[1]0.2929 + j1.29291.325777.24
X[2]-1 - j11.4142-135
X[3]1.7071 - j2.70713.2004-57.76
X[4]000
X[5]1.7071 + j2.70713.200457.76
X[6]-1 + j11.4142135
X[7]0.2929 - j1.29291.3257-77.24

X[k] = {6, 0.2929 + j1.2929, -1 - j1, 1.7071 - j2.7071, 0, 1.7071 + j2.7071, -1 + j1, 0.2929 - j1.2929}. Two free checks: X[0] = 6, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.

2071 Shrawan · Q106+2 marksFind DFT for {1, 1, 2, 0, 1, 2, 0, 1} using FFT DIT butterfly algorithm and plot the spectrum.

N = 8, which is 2^3, so the transform takes 3 stages of 4 butterflies.

Decimation in time: the input goes in bit reversed order and the output comes out in natural order. For N = 8 that input order is x[0], x[4], x[2], x[6], x[1], x[5], x[3], x[7].

Stage 1, 4 butterflies with twiddles W2^0:

2 0 2 2 3 -1 1 -1

Stage 2, 4 butterflies with twiddles W4^0, W4^1:

4 -j2 0 j2 4 -1 + j1 2 -1 - j1

Stage 3, 4 butterflies with twiddles W8^0, W8^1, W8^2, W8^3:

8 -j0.5858 -j2 j3.4142 0 -j3.4142 j2 j0.5858
kX[k]MagnitudePhase, degrees
X[0]880
X[1]-j0.58580.5858-90
X[2]-j22-90
X[3]j3.41423.414290
X[4]000
X[5]-j3.41423.4142-90
X[6]j2290
X[7]j0.58580.585890

X[k] = {8, -j0.5858, -j2, j3.4142, 0, -j3.4142, j2, j0.5858}. Two free checks: X[0] = 8, which is the sum of the samples; X[7] = X*[1] and X[6] = X*[2], the conjugate symmetry a real input forces.

The output for an exponential input PIN 3/19

Ch 3 · Frequency domain3 questions, from 3 of the 19 sittings

The procedure, the same for every question in this topic
x[n] = A e^(j w0 n) -> y[n] = A H(e^j w0) e^(j w0 n) x[n] = A cos(w0 n + phi) -> y[n] = A |H(e^j w0)| cos( w0 n + phi + angle H(e^j w0) ) For h[n] = a^n u[n]: H(e^jw) = 1 / ( 1 - a e^(-jw) )
  • Do not convolve. The input runs over all n, so it is not a finite sequence and graphical convolution is the wrong tool. This is the cheapest question on the paper once that is seen.
  • A sum of components is done one at a time and added: superposition. A constant is the w = 0 case.
Every answer in this topic
PaperQMarksThe answer
2082 BaishakhQ25y[n] = 5.7735 e^( j(0.3333 pi n - 30 deg) ).
2080 BaishakhQ25y[n] = 5.7735 e^( j(0.3333 pi n - 30 deg) ).
2072 KartikQ44y[n] = 5.7735 e^( j(0.3333 pi n - 30 deg) ).
The checks that cost nothing
  • The frequency never changes. If your answer has a frequency the input did not, something is wrong.
  • |H| at w = 0 is the sum of h[n], which is a one line check on the algebra.
  • Give the answer in both forms, magnitude and angle, and as a single exponential. It costs a line and it is what the marks are for.
2082 Baishakh · Q25 marksFind the output of an LTI system having impulse response h[n] = (1/2)^n u[n] excited by an input x[n] = 5e^(j pi n/3).

An exponential is an eigenfunction of an LTI system, so do not convolve: y[n] = H(e^jw0) x[n] for each component, and add the results.

H(e^jw) = 1 / ( 1 - 0.5 e^(-jw) ), the transform of h[n] = (1/2)^n u[n]
Componentw0H(e^jw0)in polar formOutput amplitude
x[n] = 5 e^(j pi n/3)0.3333 pi1 - j0.57741.1547 angle -30 deg5.7735

y[n] = 5.7735 e^( j(0.3333 pi n - 30 deg) ).

2080 Baishakh · Q25 marksFind the output of LTI system having impulse response h[n] = (1/2)^n u[n] and input x[n] = 5e^(j pi n/3) for -infinity < n < infinity.

An exponential is an eigenfunction of an LTI system, so do not convolve: y[n] = H(e^jw0) x[n] for each component, and add the results.

H(e^jw) = 1 / ( 1 - 0.5 e^(-jw) ), the transform of h[n] = (1/2)^n u[n]
Componentw0H(e^jw0)in polar formOutput amplitude
x[n] = 5 e^(j pi n/3)0.3333 pi1 - j0.57741.1547 angle -30 deg5.7735

y[n] = 5.7735 e^( j(0.3333 pi n - 30 deg) ).

2072 Kartik · Q44 marksFind the output of LTI System having impulse response h[n] = (1/2)^n u[n] and input signal x[n] = 5e^(j pi n/3) for -infinity < n < infinity.

An exponential is an eigenfunction of an LTI system, so do not convolve: y[n] = H(e^jw0) x[n] for each component, and add the results.

H(e^jw) = 1 / ( 1 - 0.5 e^(-jw) ), the transform of h[n] = (1/2)^n u[n]
Componentw0H(e^jw0)in polar formOutput amplitude
x[n] = 5 e^(j pi n/3)0.3333 pi1 - j0.57741.1547 angle -30 deg5.7735

y[n] = 5.7735 e^( j(0.3333 pi n - 30 deg) ).

Cascade form PIN 3/19

Ch 4 · Filter structures3 questions, from 3 of the 19 sittings

The procedure, the same for every question in this topic
CASCADE H(z) = b0 PRODUCT of Hk(z), each a real biquad 1 + b1k z^-1 + b2k z^-2 Hk(z) = ------------------------- 1 + a1k z^-1 + a2k z^-2 PARALLEL H(z) = C + SUM of Hk(z), from a partial fraction expansion A conjugate pair multiplies out to a REAL quadratic: (1 - r e^(j th) z^-1)(1 - r e^(-j th) z^-1) = 1 - 2r cos(th) z^-1 + r^2 z^-2
  • The one hard rule: a complex root must sit in the same section as its conjugate, or the section has complex coefficients and cannot be built.
  • Why not one long direct form: quantizing the coefficients of a high order polynomial moves its roots a long way, and a pole can leave the unit circle. Sections do not suffer that.
  • In practice pair each pole with its nearest zero, and put the poles closest to the unit circle last.
Every answer in this topic
PaperQMarksThe answer
2081 BaishakhQ5a52 second order sections in cascade, with an overall gain of 10: H1 = (1 - 0.917z^-1 + 0.1668z^-2)/(1 - 0.875z^-1 + 0.0938z^-2); H2 = (1 + 2z^-1)/(1 - z^-1 + 0.5z^-2). Each is drawn as the direct form II above, and they are connected output to input.
2080 BaishakhQ642 second order sections in cascade, with an overall gain of 1: H1 = (1 - 0.2z^-1 - 0.08z^-2)/(1 - 0.5z^-1 + 0.25z^-2); H2 = (1 - 0.5196z^-1 + 0.09z^-2)/(1 + 0.9899z^-1 + 0.49z^-2). Each is drawn as the direct form II above, and they are connected output to input.
2076 ChaitraQ742 second order sections in cascade, with an overall gain of 1: H1 = (1 - 0.15z^-1 - 0.175z^-2)/(1 - 0.6z^-1 + 0.36z^-2); H2 = (1 - 0.1854z^-1 + 0.09z^-2)/(1 + 0.6235z^-1 + 0.25z^-2). Each is drawn as the direct form II above, and they are connected output to input.
The checks that cost nothing
  • Every section must have real coefficients. A complex number left in a section means a conjugate was separated from its partner.
  • Multiply the sections back out and the original H(z) must return.
  • Count the sections: half the order, rounded up.
2081 Baishakh · Q5a5 marksDraw the cascaded form structure of H(z) = 10(1 - 0.25z^-1)(1 - 0.667z^-1)(1 + 2z^-1)/((1 - 0.75z^-1)(1 - 0.125z^-1){1 - (0.5 + j0.5)z^-1}{1 - (0.5 - j0.5)z^-1})

Factor H(z) and group the roots into real second order sections. The one hard rule: a complex root must sit in the same section as its conjugate, or the section has complex coefficients and cannot be built.

(1 - r e^(j th) z^-1)(1 - r e^(-j th) z^-1) = 1 - 2r cos(th) z^-1 + r^2 z^-2
SectionNumeratorDenominator
H1(z)1 - 0.917z^-1 + 0.1668z^-21 - 0.875z^-1 + 0.0938z^-2
H2(z)1 + 2z^-11 - z^-1 + 0.5z^-2

Each section is realized in direct form II and the sections are connected in a chain, with the gain 10 in front. In practice, pair each pole with its nearest zero and put the poles closest to the unit circle last, which keeps the internal signal levels down.

x[n]+w[n]+y[n]b0 = 1z-10.875-0.917z-1-0.09380.1668
Direct form II: one delay chain shared by both halves, 2 delays, which is the fewest possible.

2 second order sections in cascade, with an overall gain of 10: H1 = (1 - 0.917z^-1 + 0.1668z^-2)/(1 - 0.875z^-1 + 0.0938z^-2); H2 = (1 + 2z^-1)/(1 - z^-1 + 0.5z^-2). Each is drawn as the direct form II above, and they are connected output to input.

2080 Baishakh · Q64 marksRealize the given system in Cascade Form of 2nd order section flow graph representation. H(z) = {(1 - 0.4z^-1)(1 + 0.2z^-1)(1 - 0.3e^(j pi/6) z^-1)(1 - 0.3e^(-j pi/6) z^-1)}/{(1 - 0.5e^(j pi/3) z^-1)(1 - 0.5e^(-j pi/3) z^-1)(1 + 0.7e^(j pi/4) z^-1)(1 + 0.7e^(-j pi/4) z^-1)}

Factor H(z) and group the roots into real second order sections. The one hard rule: a complex root must sit in the same section as its conjugate, or the section has complex coefficients and cannot be built.

(1 - r e^(j th) z^-1)(1 - r e^(-j th) z^-1) = 1 - 2r cos(th) z^-1 + r^2 z^-2
SectionNumeratorDenominator
H1(z)1 - 0.2z^-1 - 0.08z^-21 - 0.5z^-1 + 0.25z^-2
H2(z)1 - 0.5196z^-1 + 0.09z^-21 + 0.9899z^-1 + 0.49z^-2

Each section is realized in direct form II and the sections are connected in a chain, with the gain 1 in front. In practice, pair each pole with its nearest zero and put the poles closest to the unit circle last, which keeps the internal signal levels down.

x[n]+w[n]+y[n]b0 = 1z-10.5-0.2z-1-0.25-0.08
Direct form II: one delay chain shared by both halves, 2 delays, which is the fewest possible.

2 second order sections in cascade, with an overall gain of 1: H1 = (1 - 0.2z^-1 - 0.08z^-2)/(1 - 0.5z^-1 + 0.25z^-2); H2 = (1 - 0.5196z^-1 + 0.09z^-2)/(1 + 0.9899z^-1 + 0.49z^-2). Each is drawn as the direct form II above, and they are connected output to input.

2076 Chaitra · Q74 marksRealize the given system in Cascade form of 2nd order section in signal flow graph representation. H(z) = {(1 - 0.5z^-1)(1 + 0.35z^-1)(1 - 0.3e^(j2n pi/5) z^-1)(1 - 0.3e^(-j2n pi/5) z^-1)}/{(1 - 0.6e^(jn pi/3) z^-1)(1 - 0.6e^(-jn pi/3) z^-1)(1 + 0.5e^(j2n pi/7) z^-1)(1 + 0.5e^(-j2n pi/7) z^-1)}

How this is readThe n in the printed exponents e^(j2n pi/5) is a scanning artifact: these are fixed angles, 2 pi/5, pi/3 and 2 pi/7.

Factor H(z) and group the roots into real second order sections. The one hard rule: a complex root must sit in the same section as its conjugate, or the section has complex coefficients and cannot be built.

(1 - r e^(j th) z^-1)(1 - r e^(-j th) z^-1) = 1 - 2r cos(th) z^-1 + r^2 z^-2
SectionNumeratorDenominator
H1(z)1 - 0.15z^-1 - 0.175z^-21 - 0.6z^-1 + 0.36z^-2
H2(z)1 - 0.1854z^-1 + 0.09z^-21 + 0.6235z^-1 + 0.25z^-2

Each section is realized in direct form II and the sections are connected in a chain, with the gain 1 in front. In practice, pair each pole with its nearest zero and put the poles closest to the unit circle last, which keeps the internal signal levels down.

x[n]+w[n]+y[n]b0 = 1z-10.6-0.15z-1-0.36-0.175
Direct form II: one delay chain shared by both halves, 2 delays, which is the fewest possible.

2 second order sections in cascade, with an overall gain of 1: H1 = (1 - 0.15z^-1 - 0.175z^-2)/(1 - 0.6z^-1 + 0.36z^-2); H2 = (1 - 0.1854z^-1 + 0.09z^-2)/(1 + 0.6235z^-1 + 0.25z^-2). Each is drawn as the direct form II above, and they are connected output to input.

FIR design with the Kaiser window PIN 3/19

Ch 5 · FIR design3 questions, from 3 of the 19 sittings

The procedure, the same for every question in this topic
delta = min( delta_p, delta_s ) take the SMALLER ripple A = -20 log10( delta ) in dB dw = ws - wp in radians A > 50 beta = 0.1102 (A - 8.7) 21 <= A <= 50 beta = 0.5842 (A - 21)^0.4 + 0.07886 (A - 21) A < 21 beta = 0 N >= ( A - 8 ) / ( 2.285 dw ) + 1, round up, next ODD I0( beta sqrt( 1 - [ (2n - (N-1))/(N-1) ]^2 ) ) w[n] = ----------------------------------------------- I0( beta )
  • Why Kaiser rather than a fixed window: beta tunes the attenuation to exactly what is asked, so N comes out smaller than for any fixed window meeting the same specification.
  • A band pass specification has two transition bands, and the narrower one sets N, because one filter has to meet both.
Every answer in this topic
PaperQMarksThe answer
2080 BhadraQ72+2+2A = 40 dB, beta = 3.3953, N = 225, cut off wc = 0.6283 rad, group delay 112 samples. The first coefficients are {0.0004, 0.00026, 0, -0.00029, -0.0005, -0.00053}.
2078 BhadraQ78delta = 0.01, A = 40 dB, beta = 3.3953, N = 91, with cut offs wc1 = 0.9425 and wc2 = 1.9635 rad and a group delay of 45 samples.
2074 ChaitraQ89+3delta = 0.01, A = 40 dB, beta = 3.3953, N = 91, with cut offs wc1 = 0.9425 and wc2 = 1.9635 rad and a group delay of 45 samples.
The checks that cost nothing
  • beta lands between 0 and about 9 for every specification these papers set. A wild beta means A was computed from the wrong ripple.
  • The smaller ripple wins. Using delta_p when delta_s is smaller gives too short a filter, and the stopband then fails.
  • A very narrow transition gives a very long filter. N = 225 for a 0.02 pi transition is correct, not a mistake: state it and move on.
2080 Bhadra · Q72+2+2 marksKaiser window is to be used to design a linear phase FIR filter that meets following specification: |H(e^jw)| <= 0.01 for 0.21pi <= |w| <= pi; 0.95 <= |H(e^jw)| <= 1.05 for 0 <= |w| <= 0.19pi. Calculate the optimum value of ripple, attenuation and window length.

Take the smaller of the two ripples, delta = 0.01, and turn it into decibels: A = -20 log10(0.01) = 40 dB.

21 <= A <= 50, so beta = 0.5842 (A - 21)^0.4 + 0.07886 (A - 21) = 0.5842 (19)^0.4 + 0.07886 (19) = 3.3953 transition dw = ws - wp = 0.6597 - 0.5969 = 0.0628 rad N >= (A - 8) / (2.285 dw) + 1 = (40 - 8) / (2.285 x 0.0628) + 1 = 223.89 round up, next ODD: N = 225, tau = 112, wc = 0.6283 rad
I0( beta sqrt( 1 - [ (2n - (N-1)) / (N-1) ]^2 ) ) w[n] = ---------------------------------------------- I0( beta )
nhd[n]w[n]h[n]
00.00270.147970.0004
10.001690.155640.00026
200.163450
3-0.001720.17138-0.00029
4-0.00280.17943-0.0005
5-0.002830.1876-0.00053
6-0.001770.19589-0.00035
700.204290
80.00180.21280.00038
90.002940.221430.00065
100.002970.230160.00068
110.001850.2390.00044
1200.247940

The rest follow from h[n] = h[224 - n].

A = 40 dB, beta = 3.3953, N = 225, cut off wc = 0.6283 rad, group delay 112 samples. The first coefficients are {0.0004, 0.00026, 0, -0.00029, -0.0005, -0.00053}.

2078 Bhadra · Q78 marksDesign a linear phase FIR filter using KAISER window to meet the following specifications: |H(e^jw)| <= 0.01 for 0 <= |w| <= 0.25pi; 0.95 <= |H(e^jw)| <= 1.05 for 0.35pi <= |w| <= 0.6pi; |H(e^jw)| <= 0.01 for 0.65pi <= |w| <= pi

This is a band pass specification: a stopband, then a passband, then a second stopband. It has two transition bands, and the narrower one sets the length, because both have to be met by one filter.

lower transition 1.0996 - 0.7854 = 0.3142 rad upper transition 2.042 - 1.885 = 0.1571 rad take the narrower dw = 0.1571 rad delta = min(0.05, 0.01) = 0.01 A = -20 log10(0.01) = 40 dB beta = 3.3953 N >= (A - 8)/(2.285 dw) + 1 = 90.15, so N = 91, tau = 45 cut offs wc1 = (0.7854 + 1.0996)/2 = 0.9425 rad wc2 = (1.885 + 2.042)/2 = 1.9635 rad
ideal band pass hd[n] = [ sin(wc2 (n-tau)) - sin(wc1 (n-tau)) ] / ( pi (n-tau) ) hd[tau] = (wc2 - wc1)/pi = 0.325
nhd[n]w[n]h[n]
00.009780.147970.00145
1-0.002980.16731-0.0005
20.000550.187420.0001
3-0.001850.20825-0.00039
4-0.013450.22977-0.00309
500.251940
60.014140.274720.00389
70.002040.298060.00061
8-0.000630.3219-0.0002
90.003640.346210.00126
10-0.012570.37091-0.00466
11-0.012120.39596-0.0048
120.011890.421290.00501

The rest follow from h[n] = h[90 - n].

delta = 0.01, A = 40 dB, beta = 3.3953, N = 91, with cut offs wc1 = 0.9425 and wc2 = 1.9635 rad and a group delay of 45 samples.

2074 Chaitra · Q89+3 marksDesign a FIR linear phase filter using Kaiser window that meets the following specifications: |H(e^jw)| <= 0.01 for 0 <= |w| <= 0.25pi; 0.95 <= |H(e^jw)| <= 1.05 for 0.35pi <= |w| <= 0.6pi; |H(e^jw)| <= 0.01 for 0.65pi <= |w| <= pi. Also determine the minimum length (M+1) of the impulse response and Kaiser window parameter beta.

This is a band pass specification: a stopband, then a passband, then a second stopband. It has two transition bands, and the narrower one sets the length, because both have to be met by one filter.

lower transition 1.0996 - 0.7854 = 0.3142 rad upper transition 2.042 - 1.885 = 0.1571 rad take the narrower dw = 0.1571 rad delta = min(0.05, 0.01) = 0.01 A = -20 log10(0.01) = 40 dB beta = 3.3953 N >= (A - 8)/(2.285 dw) + 1 = 90.15, so N = 91, tau = 45 cut offs wc1 = (0.7854 + 1.0996)/2 = 0.9425 rad wc2 = (1.885 + 2.042)/2 = 1.9635 rad
ideal band pass hd[n] = [ sin(wc2 (n-tau)) - sin(wc1 (n-tau)) ] / ( pi (n-tau) ) hd[tau] = (wc2 - wc1)/pi = 0.325
nhd[n]w[n]h[n]
00.009780.147970.00145
1-0.002980.16731-0.0005
20.000550.187420.0001
3-0.001850.20825-0.00039
4-0.013450.22977-0.00309
500.251940
60.014140.274720.00389
70.002040.298060.00061
8-0.000630.3219-0.0002
90.003640.346210.00126
10-0.012570.37091-0.00466
11-0.012120.39596-0.0048
120.011890.421290.00501

The rest follow from h[n] = h[90 - n].

delta = 0.01, A = 40 dB, beta = 3.3953, N = 91, with cut offs wc1 = 0.9425 and wc2 = 1.9635 rad and a group delay of 45 samples.

The inverse z-transform PIN 2/19

Ch 2 · The z-transform2 questions, from 2 of the 19 sittings

The procedure, the same for every question in this topic
1 IMPROPER? If the numerator's degree reaches the denominator's, LONG DIVIDE first. The quotient becomes impulses. 2 Expand X(z)/z, NOT X(z), so every term comes back as z/(z - p). 3 Ak = [ (z - pk) X(z)/z ] at z = pk 4 Invert term by term AGAINST THE ROC: ROC OUTSIDE this pole -> Ak (pk)^n u[n] right sided ROC INSIDE this pole -> -Ak (pk)^n u[-n-1] left sided 5 A repeated pole of order m needs terms up to (z - p)^-m, and z/(z-p)^2 inverts to n p^(n-1) u[n].
  • The ROC, not the algebra, is the question. The same X(z) with three different ROCs gives three different sequences, and only the one whose ROC contains the unit circle is stable.
  • "Causal" replaces a stated ROC and means outside every pole.
  • A pole and a zero can cancel, dropping the order. Look for a common factor before grinding.
Every answer in this topic
PaperQMarksThe answer
2079 BhadraQ36With the ROC |z| < 0.3956, x[n] = -10.8 (-0.5)^(n+2) u[-n-1] - 2.2 (2)^(n+2) u[-n-1] - 11 delta[n+2] + 6 delta[n+2-1] - 2 delta[n+2-2].
2071 ShrawanQ26With the ROC |z| > 1, x[n] = -1 (-0.5)^n u[n] + 2 delta[n].
The checks that cost nothing
  • Initial value: for a causal x[n], x[0] is the limit of X(z) as z goes to infinity.
  • Run the difference equation the transform encodes and compare the first few samples against your closed form.
  • Wrong on sight: a right sided answer containing u[-n-1], or a causal answer with samples at negative n.
2079 Bhadra · Q36 marksFind inverses Z-transform of X(z) = (2z^4 + 2z^3 - 3z + 2)/(z^2 - 1.5z - 1), ROC: |z| < 0.5, using partial fraction expansion method.

How this is readX(z) = (2z^4 + 2z^3 - 3z + 2)/(z^2 - 1.5z - 1). Divide numerator and denominator by z^2 and the transform becomes z^2 times a function of z^-1 alone. The poles are at 1.8508 and -0.3508, so the printed ROC |z| < 0.5 cannot be right as written, since it would contain a pole; it can only mean the innermost region, |z| < 0.3508, which is the anticausal one.

What is different in this one
  • The numerator has higher degree in positive z than the denominator, so it is written as z^2 times a proper function first. That factor advances the answer by 2 samples at the end, and it is where the impulses at negative n come from.
  • The numerator reaches the degree of the denominator, so it is improper in z^-1 and must be long divided first. The quotient is a constant, which inverts to an impulse, and only the remainder goes through partial fractions. A question whose numerator is of lower degree skips this step entirely.
  • The ROC is the inside of the innermost pole, so every term is left sided and the whole answer carries u[-n-1] with a sign change.

Expand into one term per pole, each of the standard form A / (1 - p z^-1), whose inverse is A p^n u[n] when the ROC lies outside that pole and -A p^n u[-n-1] when it lies inside. The ROC, not the algebra, decides which.

X(z) = ( 2 + 2z^-1 - 3z^-3 + 2z^-4 ) / ( 1 - 1.5z^-1 - z^-2 ) written as z^2 times a proper function
Pole|p|ResidueWhich sideInverts to
-0.50.510.8the ROC lies inside it-10.8 (-0.5)^n u[-n-1]
222.2the ROC lies inside it-2.2 (2)^n u[-n-1]
none, a direct term-11a polynomial term-11 delta[n]
none, a direct term6a polynomial term6 delta[n-1]
none, a direct term-2a polynomial term-2 delta[n-2]

That is the inverse of the proper part. The factor z^2 advances it by 2 samples, so replace n by n + 2 in the answer.

With the ROC |z| < 0.3956, x[n] = -10.8 (-0.5)^(n+2) u[-n-1] - 2.2 (2)^(n+2) u[-n-1] - 11 delta[n+2] + 6 delta[n+2-1] - 2 delta[n+2-2].

2071 Shrawan · Q26 marksFind the inverse z transform of: X(Z) = (1 + 2z^-1 + z^-2)/(1 + 1.5z^-1 + 0.5z^-2), |z| > 1 using partial fraction method.
What is different in this one
  • The numerator reaches the degree of the denominator, so it is improper in z^-1 and must be long divided first. The quotient is a constant, which inverts to an impulse, and only the remainder goes through partial fractions. A question whose numerator is of lower degree skips this step entirely.
  • A zero sits on the pole at -1 and cancels it, so its residue is zero and the order of the answer drops. Look for a common factor before grinding through the algebra.
  • The ROC is the outside of the outermost pole, so every term is right sided and the answer is causal.

Expand into one term per pole, each of the standard form A / (1 - p z^-1), whose inverse is A p^n u[n] when the ROC lies outside that pole and -A p^n u[-n-1] when it lies inside. The ROC, not the algebra, decides which.

X(z) = ( 1 + 2z^-1 + z^-2 ) / ( 1 + 1.5z^-1 + 0.5z^-2 )
Pole|p|ResidueWhich sideInverts to
-0.50.5-1the ROC lies outside it-1 (-0.5)^n u[n]
none, a direct term2a polynomial term2 delta[n]

The residue at -1 is zero: a zero of the numerator sits on that pole and cancels it, so it contributes nothing and the order of the answer drops.

With the ROC |z| > 1, x[n] = -1 (-0.5)^n u[n] + 2 delta[n].

Check it by running the difference equation the transform encodes and comparing the first samples: {1, 0.5, -0.25, 0.125, -0.0625, 0.03125}, from both routes.

From lattice coefficients back to H(z) PIN 2/19

Ch 4 · Filter structures2 questions, from 2 of the 19 sittings

The procedure, the same for every question in this topic
Am(z) = A(m-1)(z) + Km z^-m A(m-1)(z^-1) where A(m-1)(z^-1) is the same coefficient list REVERSED. Start from A0(z) = 1 and apply once per K, in the order K1, K2, K3. ALL ZERO question: H(z) = AM(z), and the FIR coefficients are its own ALL POLE question: H(z) = 1 / AM(z), and there are no FIR coefficients
  • Read which of the two the question wants. The arithmetic up to AM(z) is identical, and the two wordings alternate between sittings.
Every answer in this topic
PaperQMarksThe answer
2079 BhadraQ66
2071 ShrawanQ45
The checks that cost nothing
  • Step back down from the answer and the original K values must return.
  • The first coefficient stays 1 at every order.
  • The last coefficient of Am is Km, by construction: check it at each step.
2079 Bhadra · Q66 marksGiven a 3-stage lattice filter for all zero polynomial with coefficients K1 = 1/4, K2 = 1/2 and K3 = 1/3. Obtain the system function and FIR filter coefficients of this filter.

Run the order update once per reflection coefficient, starting from A0(z) = 1.

Am(z) = A(m-1)(z) + Km z^-m A(m-1)(z^-1) where A(m-1)(z^-1) is the same coefficient list REVERSED.
OrderPolynomial
A0(z)1
A1(z)1 + 0.25z^-1
A2(z)1 + 0.375z^-1 + 0.5z^-2
A3(z)1 + 0.5417z^-1 + 0.625z^-2 + 0.3333z^-3
2071 Shrawan · Q45 marksIf a 3 stage lattice filter for all pole polynomial has coefficients K1 = 1/4, K2 = 1/2 and K3 = 1/3. Obtain the system function of this filter.

Run the order update once per reflection coefficient, starting from A0(z) = 1.

Am(z) = A(m-1)(z) + Km z^-m A(m-1)(z^-1) where A(m-1)(z^-1) is the same coefficient list REVERSED.
OrderPolynomial
A0(z)1
A1(z)1 + 0.25z^-1
A2(z)1 + 0.375z^-1 + 0.5z^-2
A3(z)1 + 0.5417z^-1 + 0.625z^-2 + 0.3333z^-3

The zero input response PIN 1/19

Ch 3 · Frequency domain1 questions, from 1 of the 19 sittings

The procedure, the same for every question in this topic
1 Set x[n] = 0. 2 Assume y[n] = lambda^n and divide through: lambda^N + a1 lambda^(N-1) + ... + aN = 0 CHARACTERISTIC EQN 3 Solve, then write the form: distinct real y[n] = C1 lambda1^n + C2 lambda2^n repeated y[n] = (C1 + C2 n) lambda^n complex pair y[n] = r^n ( C1 cos(th n) + C2 sin(th n) ) 4 Fit the constants to the given y[-1], y[-2].
Every answer in this topic
PaperQMarksThe answer
2078 BhadraQ44y[n] = C1 (4)^n + C2 (-1)^n, with the constants fixed by the given initial conditions. The root at 4 lies outside the unit circle, so the natural response grows without bound and the system is unstable.
The checks that cost nothing
  • Read the stability off the roots. A root outside the unit circle means the natural response grows without bound. One sentence, one mark.
  • Substitute a root back into the characteristic equation.
  • The total response is this plus the zero state response; say which one the question asked for.
2078 Bhadra · Q44 marksDetermine the zero-input response for a second order system given by: y[n] - 3y[n-1] - 4y[n-2] = x[n]

Set the input to zero and assume y[n] = lambda^n. Dividing through by lambda^(n-N) gives the characteristic equation.

characteristic equation: 1 - 3lambda^-1 - 4lambda^-2 = 0 roots: 4, -1

y[n] = C1 (4)^n + C2 (-1)^n, with the constants fixed by the given initial conditions. The root at 4 lies outside the unit circle, so the natural response grows without bound and the system is unstable.

Every question from 19 papers · 2071 Shrawan to 2082 Bhadra

The complete question bank

All 200 questions set on this subject, reproduced verbatim from the scanned papers. Read them by paper, newest first, or by chapter, where repeats are merged and counted. Every question is tagged with its chapter and linked to the card that answers it, and the 108 that are pure computation are marked, because their worked solutions live in their own section.

How to use the bank

  • By paper: work backwards from the newest. This paper repeats its own blueprint, so the last three sittings are the best guide to the next one.
  • By chapter: revise a chapter, then answer its questions. A question set in several sittings appears once, with how many times it was set and when, and every other wording listed under it.
  • Every link goes to the answer. A question with two links needs both cards for a full answer.
  • Numericals are tagged. The theory half of a mixed question is answered in the solutions section; the computation is not.

Regular2082 Bhadra

2082 Bhadra · Regular · BEI, BCT · 11 questions

Q1. Compare between energy signal and power signal. Determine whether the signal x[n] = e^(j(pi/2 n + 4pi/7)) is energy signal or power signal.

Q2. Find the output of an LTI system whose impulse response is given by 0.5^n{u[n]-u[n-3]} and input is given by {2, 1, 0.5, -1}.

Q3. Define z-transform for a discrete time signal. Find the inverse z-transform for H(z) = z/(3z^2 - 4z + 1) using partial fraction method for 1/3 < |z| < 1.

Q4. Draw the poles and zeros in the z-plane for the system with poles at 0.45 +/- j1.6 and zeros at 0.58 +/- j2.06. Also plot the magnitude response (not in scale) of the system.

Ch 4Numerical2+2FIR structures

Q5. Obtain the direct form I and direct form II realization of the following system: y[n] - 0.75y[n-1] - 0.25y[n-2] = x[n] + 0.5x[n-1]

Q6. Compute Lattice ladder coefficients and draw lattice structure for the given system H(z) = (2 - 0.7z^-1 + 0.5z^-2)/(1 - 0.3z^-1 + 0.25z^-2)

Q7. Design a linear phase FIR system to meet the following specifications: Passband edge = 2 kHz, Stopband edge = 5 kHz, Stopband attenuation = 42 dB, Sampling frequency = 20 kHz

Q8. What is an optimal filter? Explain Remez exchange algorithm for FIR filter design with the help of a flow chart.

Q9. Explain frequency warping effect in detail. The passband and stopband frequencies are 350Hz and 1,000Hz respectively. The attenuation at passband and stopband are -3dB and -10dB respectively. The sampling frequency is 5,000Hz. Design a digital low-pass Butterworth filter using bilinear transformation technique.

Q10. Compute the circular convolution of the following sequences: h(n) = {1, 2, 1, -1, 1} and x(n) = {1, 2, 3, 1}

Q11. Find 8-point DFT using DIF-FFT of the sequence x[n] = {1, 1/2, -1, -1/2, 2, -3/2}.

Back2082 Baishakh

2082 Baishakh · Back · BCT, BEI · 10 questions

Q1. A discrete time system has input x[n] and output y[n] and its input-output relation is y[n] = x[n] + x[-n]. Is the system causal, time invariant or not?

Q2. Find the output of an LTI system having impulse response h[n] = (1/2)^n u[n] excited by an input x[n] = 5e^(j pi n/3).

Q3. Define ROC of a Z-transform. Determine x[n] for X(z) = 1/(1 - 1.5z^-1 + 0.5z^-2) if: a) |z| > 1 b) |z| < 0.5 c) 0.5 < |z| < 1 using partial fraction method.

Q4. The poles of a system are located at 0.45 +/- j1.6 and the zeros at 0.58 +/- j2.06. Map the poles and zeros in the z-plane and plot the magnitude and phase response (not to scale) of the system.

Ch 4Numerical10The IIR lattice ladder

Q5. A third order low pass filter has a system function H(z) = (0.2759 + 0.5121z^-1 + 0.5121z^-2 + 0.2759z^-3)/(1 - 0.0010z^-1 + 0.6546z^-2 - 0.0775z^-3). Implement the filter using lattice-ladder structure.

Q6. Differentiate between analog and digital filter. Design an FIR lowpass digital filter that will have a -3dB cut-off at 30pi rad/s and an attenuation of 50 dB at 45pi rad/s. The filter is required to have a linear phase and the system uses a sampling rate of 100 Hz.

Q7. Explain Gibbs phenomenon in FIR filter design. Describe Remez exchange algorithm for FIR filter design along with flowchart.

Q8. Using bilinear transformation technique, design a Butterworth filter which satisfies the following conditions: 0.8 <= |H(e^jw)| <= 1 for 0 <= w <= 0.2pi; |H(e^jw)| <= 0.2 for 0.6pi <= w <= pi. Consider sampling frequency 1 Hz. Compare Impulse Invariance Method and Bilinear Transformation technique for analog filter to digital filter conversion.

Q9. What is Fast Fourier Transform algorithm? How Decimation in Frequency Fast Fourier Transform algorithm reduces the calculation complexity of DFT? Find 4 point DFT of the sequence x[n] = {1, 4, -1} using Decimation in Frequency Fast Fourier Transform algorithm.

Q10. Find the circular convolution of the sequences x1[n] = {1, 1, -1, -1, 2} and x2[n] = {1, -1, -2}.

Regular2081 Bhadra

2081 Bhadra · Regular · BCT, BEI · 10 questions

Q1. Determine if the signal x[n] = cos(2pi n/5) + sin(pi n/3) is periodic or not. If the signal is periodic, find its fundamental period.

Q2. Find the output of an LTI System with impulse response h[n] = 2delta[n+1] + 2delta[n-1] when an input of x[n] = delta[n] + 2delta[n-1] - delta[n-3] is applied to it.

Q3. Define ROC of z-transform. Find the inverse z-transform using partial fraction expansion of X(z) = (2z^3 - 5z^2 + z + 3)/((z-1)(z-2)) for ROC |z| < 1

Q4. Plot the pole zero in z plane and draw magnitude response (not to the scale) of the system described by difference equation y[n] - 0.4 y[n-1] + 0.25 y[n-2] = x[n] - 0.4 x[n-1]

Ch 4Numerical6+4The IIR lattice ladder

Q5. Compute the lattice and ladder coefficients and draw lattice-ladder structure for the given IIR system H(z) = (1 + z^-1 + z^-2)/((1 + 0.5z^-1)(1 + 0.3z^-1)(1 + 0.4z^-1))

Q6. Design a low pass FIR filter using suitable window to meet following specifications: 0.99 <= |H(e^jw)| <= 1.01 for 0 <= |w| <= 0.3pi; |H(e^jw)| <= 0.01 for 0.35pi <= |w| <= pi

Q7. What do you mean by optimum filter? Describe the Remez exchange algorithm for FIR filter design along with the flowchart.

Q8. Design a digital low pass IIR filter using Bilinear transformation to meet following specifications: 0.9 <= |H(e^jw)| <= 1 for 0 <= |w| <= pi/2; |H(e^jw)| <= 0.2 for 3pi/4 <= |w| <= pi. Use Butterworth approximation for design with sampling frequency of 1Hz. Compare Impulse Invariance Method and Bilinear Transformation method.

Q9. How does FFT reduce computational complexity compared to direct calculation of DFT? Compute 8-point DFT of x[n] = {1, -2, -4, 3, 0, 1} using DIT-FFT algorithm.

Q10. If X1(k) and X2(k) are the 5-point DFT of x1(n) = 3^n for 0 <= n <= 3 and x2(n) = 2^n for 0 <= n <= 4. Find x3(n) if X3(k) = X1(k)X2(k)

Back2081 Baishakh

2081 Baishakh · Back · BEI, BCT · 11 questions

Q1. A discrete-time LTI system is given by difference equation y(n) = x(n) + e^a y(n-1). Check this system for BIBO stability.

Q2. Find the output y(n) of LTI system having impulse response h(n) = (1/3)^n u(n-3) and input x(n) = (1/6)^(n-6) u(n).

Q3. Determine the inverse z-transform of X(z) = 1/(1 - 0.8z^-1 + 0.12z^-2). (i) if ROC is |z| > 0.6 (ii) if ROC is |z| < 0.2 (iii) if ROC is 0.2 < |z| < 0.6

Q4. Plot the pole-zero in z plane and draw the magnitude response (not to the scale) of the system described by difference equation y(n) = 0.67 x(n) - 0.3 x(n-1) + 2.75 y(n-1)

Q5a. Draw the cascaded form structure of H(z) = 10(1 - 0.25z^-1)(1 - 0.667z^-1)(1 + 2z^-1)/((1 - 0.75z^-1)(1 - 0.125z^-1){1 - (0.5 + j0.5)z^-1}{1 - (0.5 - j0.5)z^-1})

Ch 4Numerical5The FIR lattice

Q5b. Draw the lattice structure for the given FIR filter and also check whether the system is stable. H(z) = 1 + (13/24)z^-1 + (5/8)z^-2 + (1/3)z^-3

Q6. Design a linear phase FIR filter using suitable window to meet following specifications: 0.99 <= |H(e^jw)| <= 1.01 for 0 <= |w| <= 0.3pi; |H(e^jw)| <= 0.01 for 0.35pi <= |w| <= pi

Q7. What is Gibbs phenomenon and how can it be minimized? Why Kaiser window is better than other fixed windows in FIR filter design?

Q8. Differentiate between bilinear transformation and impulse invariance. Design a Butterworth digital IIR lowpass filter using bilinear transformation by taking T = 0.1 second, to satisfy the following specifications: 0.6 <= |H(e^jw)| <= 1 for 0 <= w <= 0.35pi; |H(e^jw)| <= 0.1 for 0.7pi <= w <= pi

Q9. Why Decimation in Time Fast Fourier Transform (DITFFT) Algorithm is better than direct computation of DFT? Find 4 point DFT of the sequence x(n) = {2, 2, 4} using DITFFT algorithm.

Q10. Compute circular convolution of the following two sequences using DFT. x(n) = {1, 2, 4, 5} and h(n) = {2, 1, 6, 8}

Regular2080 Bhadra

2080 Bhadra · Regular · BEI, BCT · 10 questions

Q1. A discrete time system has input x(n) and output y(n). The input output relation of the system is given by y(n) = sum from k=0 to n of x(k). Check whether the system is memory less, time invariant and stable or not?

Q2. Determine whether the given signal is periodic or not. If the signal is periodic, determine the fundamental period x[n] = e^(j pi n/16) cos(n pi/17).

Q3. Define the Region of Convergence (ROC). Find the inverse of H(z) = (1 + 2z^-1 + z^-2)/(1 - 0.75z^-1 + 0.125z^-2); ROC 0.25 < |z| < 0.5

Q4. Plot the pole-zero on the z-plane and draw Magnitude response (not to the scale) of an LTI system described by the equation, y(n) = x(n) + 0.8x(n-1) + 0.8x(n-2) + 0.49y(n-2).

Ch 4Numerical10The IIR lattice ladder

Q5. Draw the Lattice structure from the following system function. H(z) = 1/(1 - 0.2z^-1 + 0.4z^-2 + 0.6z^-3)

Q6. Design the symmetric FIR Low Pass Filter (LPF) for which the desired frequency response is expressed as Hd(W) = e^(-jW tau) for |W| <= Wc and 0 elsewhere. The length of the filter should be 7 and Wc = 1 rad/sample. Make use of the Hanning window.

Ch 5Numerical2+2+2The Kaiser window

Q7. Kaiser window is to be used to design a linear phase FIR filter that meets following specification: |H(e^jw)| <= 0.01 for 0.21pi <= |w| <= pi; 0.95 <= |H(e^jw)| <= 1.05 for 0 <= |w| <= 0.19pi. Calculate the optimum value of ripple, attenuation and window length.

Ch 6Numerical12The design route

Q8. Using Bilinear transformation, design a Butterworth low pass filter which satisfies following conditions: 0.9 <= |H(e^jw)| <= 1 for 0 <= w <= pi/2; |H(e^jw)| <= 0.2 for 3pi/4 <= w <= pi. Consider sampling frequency of 1 Hz.

Q9. Compute 8-point DIF-FFT of sequence x(n) = {2, 1, 2, 1, 1, 2, 1, 2}.

Q10. Obtain the circular convolution of the following sequences: x1(n) = {1, 2, 3, 1} and x2(n) = {4, 3, 2, 2}

Back2080 Baishakh

2080 Baishakh · Back · BEI, BCT · 12 questions

Q1. Check whether following signals are periodic or not. If yes, state their periodic time. a) x[n] = Sin(n pi) + Cos(n pi) b) x[n] = Sin(3n pi/5) + Cos(4n pi/7)

Q2. Find the output of LTI system having impulse response h[n] = (1/2)^n u[n] and input x[n] = 5e^(j pi n/3) for -infinity < n < infinity.

Q3. Define ROC. Find inverse z-transform of X(z) = (1 + 2z^-1 + z^-2)/(1 - 1.5z^-1 + 0.5z^-2), ROC: |z| > 1.

Q4. Differentiate between FIR system and IIR System. The poles of a system are located at 0.45 +/- j1.6 and zeros at 0.58 +/- j2.06. Map the poles and zeros in the z-plane and plot the magnitude response (not in scale) of the system.

Q5. Compute Lattice-ladder coefficients and draw lattice structure for given system H(z) = (2 - 0.7z^-1 + 0.5z^-2)/(1 - 0.3z^-1 + 0.25z^-2).

Q6. Realize the given system in Cascade Form of 2nd order section flow graph representation. H(z) = {(1 - 0.4z^-1)(1 + 0.2z^-1)(1 - 0.3e^(j pi/6) z^-1)(1 - 0.3e^(-j pi/6) z^-1)}/{(1 - 0.5e^(j pi/3) z^-1)(1 - 0.5e^(-j pi/3) z^-1)(1 + 0.7e^(j pi/4) z^-1)(1 + 0.7e^(-j pi/4) z^-1)}

Q7. In which case do we choose FIR filter and IIR filter? Design a linear phase FIR filter using Kaiser Window to meet the following specifications: 0.99 <= |H(e^jw)| <= 1.01 for 0 <= w >= 0.016pi; |H(e^jw)| <= 0.01 for 0.08pi <= w <= 2pi

Q8. Explain in detail about how Gibb's oscillation arise while using the rectangular window in FIR filter design.

Ch 6Numerical11The design route

Q9. Design a low pass digital IIR filter by Bilinear Transformation method to an approximate Butterworth low pass filter, if passband edge frequency is 0.26 pi radians and maximum deviation of 0.99 dB below 0 dB gain in the passband. The maximum gain of -14.99 dB and frequency is 0.58pi radians in stopband, Consider sampling frequency 0.5 Hz.

Q10. Describe digital domain Spectral Transformation features and parameters for low pass to high pass filter in IIR Filter design.

Q11. How fast is FFT? Find 8-point DFT of sequence x[n] = {1, 1, 0, 0, 1, 1, 2} using Decimation in Time Fast Fourier Transform (DITFFT) algorithm.

Q12. Write the complexity of DFT and FFT? Obtain the circular convolution of the following sequences: X1[n] = {1, 2, 3, 1} and X2[n] = {4, 3, 2, 2}

Regular2079 Bhadra

2079 Bhadra · Regular · BEI, BCT · 11 questions

Q1. Define energy and power signal. Determine whether the signal x[n] = cos(2pi n/5) + sin(pi n/3) is periodic or non-periodic and if it is periodic, find its fundamental period.

Q2. Find the output of LTI system having input signal x[n] = delta[n] + 2delta[n-1] - delta[n-3] and h[n] = 2delta[n+1] + 2delta[n-1].

Q3. Find inverses Z-transform of X(z) = (2z^4 + 2z^3 - 3z + 2)/(z^2 - 1.5z - 1), ROC: |z| < 0.5, using partial fraction expansion method.

Q4. Plot the pole-zero in z-plane and draw the magnitude response (not to the scale) of the equation of the system describe by difference equation: y[n] - 0.35y[n-1] + 0.25y[n-2] = x[n] - 0.75x[n-1].

Ch 4Numerical2+2FIR structures

Q5. Draw direct form I and Direct form II realization of the following system. y[n] - 0.25y[n-2] + x[n] + 0.4x[n-1] + 0.5x[n-2]

Q6. Given a 3-stage lattice filter for all zero polynomial with coefficients K1 = 1/4, K2 = 1/2 and K3 = 1/3. Obtain the system function and FIR filter coefficients of this filter.

Q7. Define Gibb's phenomenon. Design the FIR filter using Kaiser window technique for the specifications: 0.899 <= |H(e^jw)| <= 1 for |w| <= 0.2pi; |H(e^jw)| <= 0.01 for 0.4pi <= w <= pi

Q8. Discuss the Remez exchange algorithm for FIR filter design.

Q9. Design a low pass discrete time Butterworth filter using bilinear transformation having following specifications: Passband frequency (Wp) = 0.25pi radians, Stopband frequency (Ws) = 0.55pi radians, Passband ripple (deltaP) = 0.11, Stopband ripple (deltaS) = 0.21. Consider sampling frequency of 0.5 Hz. Also, convert the obtained digital low pass filter to high pass filter with new pass band frequency, W'p = 0.45pi using digital domain transformation.

Q10. Why we need FFT? Find the 8-point DFT of the following sequence using radix-2 DITFFT algorithm.

Q11. If X1(k) and X2(k) are DFT of sequence x1[n] = {1, 0, 0, 1} and x2[n] = {2, 0, 2} respectively then find the sequence x3[n]; if DFT of x3[n] is given by X3(k) = X1(k) X2(k).

Back2079 Baishakh

2079 Baishakh · Back · BCT · 11 questions

Q1. Compare between energy signal and power signal. Determine whether the signal x[n] = e^(j(pi/2 n + 4pi/7)) is energy signal or power signal.

Q2. Find the output of LTI system having impulse response h[n] = (1/2)^n {u[n+2] - u[n-2]} to the input x[n] = {2, 1, 0, -1, 4}.

Q3. Define z-transform for a discrete time signal. Find the inverse z-transform for H(z) = z/(3z^2 - 4z + 1) using partial fraction method for 1/3 < |z| < 1.

Q4. Plot pole-zero in z-plane and draw magnitude response (not to the scale) of the system described by difference equation y[n] - 0.3 y[n-1] + 0.2y[n-2] = x[n] - 0.5x[n-1].

Ch 4Numerical6+1The IIR lattice ladder

Q5. Compute Lattice-ladder coefficients and draw lattice structure for given system H(z) = (1 - 0.4z^-1 + 0.25z^-2)/(1 - 0.3z^-1 + 0.5z^-2). Also check the stability of given system.

Ch 4Numerical4FIR structures

Q6. Obtain the Direct Form I and Direct Form II realization of the following system: y[n] - 0.75y[n-1] - 0.25y[n-2] = x[n] + 0.5x[n-1]

Q7. Design a low pass digital FIR filter having Pass band edge frequency w_p = 0.2pi, Stop band edge frequency w_s = 0.45pi and Stop band attenuation a_s = 51 dB using any appropriate window function.

Q8. What do you understand by optimum filter? Describe Remez exchange algorithm for FIR filter design along with the flowchart.

Q9. Design a low pass digital IIR filter by Bilinear Transformation method to an approximate Butterworth low pass filter, if passband edge frequency is 0.24 pi radians and maximum deviation of 0.98 dB below 0 dB gain in the passband. The maximum gain of -14.95 dB and frequency is 0.57 pi radians in stopband, consider sampling frequency 0.5 Hz. Compare impulse invariance method with bilinear transformation method.

Q10. Why we need DFT? Find 8-point DFT of sequence x[n] = {1, 2, 4, 3, 5, -1, 3} using Decimation in Frequency Fast Fourier Transform (DIFFFT) algorithm.

Q11. Find the circular convolution of the sequences x1[n] = {1, -1, -2, 3, -1} and x2[n] = {1, 2, 3}.

Regular2078 Bhadra

2078 Bhadra · Regular · BCT · 11 questions

Q1. Determine whether the signal x[n] = cos(pi n/2) cos(pi n/4) is periodic or non periodic and if it is periodic, find its fundamental period.

Q2. Find the output of LTI system having impulse response h[n] = u[n] - u[n-4] and input signal x[n] = (1/2)^n u[n].

Q3. Define ROC. Find inverse z-transform of X(z) = (z^3 + z^2 + 1.5z + 0.5)/(z^3 + 1.5z^2 + 0.5z), ROC: |z| < 1/2.

Q4. Determine the zero-input response for a second order system given by: y[n] - 3y[n-1] - 4y[n-2] = x[n]

Q5. Plot the pole-zero in z-plane and draw magnitude response (not to the scale) of the system described by difference equation. y[n] - 0.4 y[n-1] + 0.25 y[n-2] = x[n] - 0.4x[n-1]

Q6. The system function of a filter is H(z) = 1 + (13/24)z^-1 + (5/8)z^-2 + (1/3)z^-3. Draw the Direct Form and Lattice Structure implementation of the above filter.

Ch 5Numerical8The Kaiser window

Q7. Design a linear phase FIR filter using KAISER window to meet the following specifications: |H(e^jw)| <= 0.01 for 0 <= |w| <= 0.25pi; 0.95 <= |H(e^jw)| <= 1.05 for 0.35pi <= |w| <= 0.6pi; |H(e^jw)| <= 0.01 for 0.65pi <= |w| <= pi

Q8. What is optimum filter? Show mathematical expression of Remez exchange algorithm for FIR filter design.

Q9. Design a LPF Butterworth filter using Impulse Invariance Method (IIM) method with passband and stopband frequencies 200Hz and 500Hz respectively. The passband and stopband attenuations are 5dB and 12dB respectively. The sampling frequency is 5000Hz. What is pre-warping and why it is necessary? Explain.

Q10. Differentiate between DFT and DTFT. Find the circular convolution of x1[n] = {2, 1, 2, 1} and x2[n] = {1, 2, 3, 4}

Ch 7Numerical7Decimation in time

Q11. Find the 8-point DFT of x[n] = u[n] - u[n-4] using FFT DIT algorithm.

Regular2076 Chaitra

2076 Chaitra · Regular · BCT · 12 questions

Q1. Define even and odd type discrete time signals with suitable example. Plot the signal x[-2n+3] where x[n] = {1, 2, 0, -1, -3, -4}.

Q2. Determine whether the following system are: a) y[n] = x[-n] is time-invariant or not. b) y[n] = x[n^2] is linear or not.

Q3. Find the output of LTI system having input signal x[n] = u[n+1] - u[n-4] and impulse response h[n] = (1/2)^n u[n-1].

Q4. Define ROC of z-transform. Find inverse z-transform using partial fraction expansion of X(z) = (z^4 + 5z^3 - 3z + 4)/(z^2 - 1.5z - 1), ROC: |z| < 0.5.

Q5. Draw the pole-zero in the z-plane for a system with poles at 0.45 +/- j1.06 and zeroes at 0.58 +/- j2.06. Also plot the magnitude response (not to the scale) of the system.

Ch 4Numerical6+4The IIR lattice ladder

Q6. Compute Lattice and Ladder coefficients and Draw lattice-ladder structure for given IIR system H(z) = (0.5 - 2z^-1 + 3z^-2)/(1 - 0.5z^-1 - 0.7z^-2 + 0.3z^-3).

Q7. Realize the given system in Cascade form of 2nd order section in signal flow graph representation. H(z) = {(1 - 0.5z^-1)(1 + 0.35z^-1)(1 - 0.3e^(j2n pi/5) z^-1)(1 - 0.3e^(-j2n pi/5) z^-1)}/{(1 - 0.6e^(jn pi/3) z^-1)(1 - 0.6e^(-jn pi/3) z^-1)(1 + 0.5e^(j2n pi/7) z^-1)(1 + 0.5e^(-j2n pi/7) z^-1)}

Q8. Design the FIR filter using suitable window for the specifications: 0.899 <= |H(e^jw)| <= 1 for |w| <= 0.2pi; |H(e^jw)| <= 0.01 for 0.4pi <= w <= pi

Q9. What is optimum filter? Show mathematical expression of Remez exchange algorithm for FIR filter design.

Ch 6Numerical10The design route

Q10. Design a digital low pass Butterworth filter by applying bilinear transformation techniques for the given specifications: Passband peak to peak ripple <= 1dB, Passband edge frequency = 1.2KHz, Stopband Attenuation >= 40dB, Stopband edge frequency = 2.5 KHz, Sample rate = 8KHz

Q11. Find 8-point DFT of sequence x[n] = {1, 2, 3, 3, 5, 0, 4, 6} using Decimation in frequency Fast Fourier Transform (DIFFFT) algorithm.

Q12. Find x3[n] if DFT of x3[n] is given by X3(k) = X1(k) * X2(k) where X1(k) and X2(k) are 4-point DFT of x1[n] = {1, 2, -2} and x2[n] = {1, 2, 3, -1} respectively.

Back2076 Ashwin

2076 Ashwin · Back · BCT · 9 questions

Q1. Explain Fourier transform multiplication property for two sequences. Write Drichlet's conditions for Fourier series.

Q2. Find convolution between two signals x[n] = 2^n 4[-n], 0 < a < 1 and h[n] = 4[n]

Q3. State Convolution property of Z-transform. Find inverse Z-transform of X(z) = z/{(z - 0.6)(z + 0.5)^2}, ROC: |z| > 0.6

Q4. Describe stability and causality characteristics of LTI system in terms of Impulse Response and ROC of its transfer function with suitable examples.

Ch 4Numerical6+3The IIR lattice ladder

Q5. Compute Lattice and Ladder coefficients and Draw lattice-ladder structure for given IIR system H(z) = (0.7 - 1.5z^-1 + 0.5z^-2)/(1 - 0.5z^-1 - 0.7z^-2 + 0.3z^-3)

Q6. For the system described by the following difference equation: y[n] = 0.67x[n] - 0.3x[n-1] + 2.75y[n-1]. Map the poles and zero in the z-plane and plot the phase response of the system.

Ch 6Numerical12The design route

Q7. Design a low pass discrete IIR filter by Bilinear Transformation method to an approximate Butterworth filter having specifications as below: Pass bandedge frequency (wp) = 0.22 pi radians, Stop bandedge frequency (ws) = 0.54 pi radians, Passband ripple (deltap) = 0.11, Stopband ripple (deltas) = 0.22, Consider sampling frequency 0.5 Hz.

Q8. Why we need DFT? Find 8-point DFT of sequence x[n] = {1, 2, 3, 3, 5, 1, 4, 2} using Decimation in frequency Fast Fourier Transform (DIFFFT) algorithm.

Q9. In which case do we choose FIR filter and IIR filter? Design a Kaiser Window to meet the following specifications: 0.99 <= |H(e^jw)| <= 1.01 for 0 <= w <= 0.16pi; |H(e^jw)| <= 0.01 for 0.18pi <= w <= 2pi. Draw the flow chart for Remez-Exchange algorithm

Regular and Back2075 Chaitra

2075 Chaitra · Regular and Back · BCT · 9 questions

Q1. Define Power and Energy type discrete time signal with suitable example. Differentiate between Fourier Series and Fourier Transform.

Q2. Find the output of LTI system having impulse response h[n] with h[-2] = 3, h[0] = 2, h[1] = 1 and input signal x[n] = (2)^n, for -1 <= n <= 3. Also check the answer.

Q3. Plot the pole-zero in z-plane and draw magnitude response (not to scale) of the system described by differential equation y(n) - 0.3y(n-1) = 2x(n-2) + 0.7x(n-1) + 4x(n)

Q4. Draw the lattice structure from the following system function H(t) = 1/(1 + (2/3)z^-1 + (5/8)z^-2 + (2/3)z^-3 + z^-4)

Q5. What is optimum filter? Show mathematical expression of Remez exchange algorithm for FIR filter design.

Q6. List out the properties of Region of convergence and locate the ROC of the following signal x[n] = (0.1)^n u[n] + (0.3)^n u[-n-1]

Ch 6Numerical10The design route

Q7. Using bilinear transformation, design a digital filter using Butterworth approximation which satisfies the following conditions: 0.8 <= |H(e^jW)| <= 1 for 0 <= W <= 0.2pi; |H(e^jW)| <= 0.2 for 0.6pi <= W <= pi

Q8. How fast is FFT? Find X(3) and X(5) for given sequence x[n] = {1, -2, 3, 2} using DITFFT algorithm.

Q9. Differentiate between linear convolution and circular convolution compute circular convolution of signals X1[n] = {0, 0, 1, 1} and X2[n] = {1, 1, 1, 1}

Back2075 Ashwin

2075 Ashwin · Back · BCT · 9 questions

Q1. Determine whether the following sequences are linear or not: a) y[n] = x^2[n] b) y[n] = cos(5pi n/8 + pi/4)

Q2. Find the output of LTI system having impulse response h[n] = 2^n {u[n] - u[n-3]} and input signal x[n] = delta[n] + delta[n-1] + delta[n-2].

Q3. List out the properties of Region of convergence and locate the ROC of the following signal. x[n] = (0.6)^n u[n] + (0.25)^n u[n]

Q4. Draw the poles and zeros in the z-plane for a system with poles at 0.45 +/- j1.06 and zeros at 0.58 +/- j2.06. Also plot the magnitude response of the system.

Q5. Draw the Lattice structure from the following system function: 1/(3 + (39/24)Z^-1 + (15/8)Z^-2 + (3/9)Z^-3). And represent 5/8 and -5/8 in sign magnitude, 1's complement and 2's complement format.

Ch 6Numerical12The design route

Q6. Design a digital low-pass filter with the following specification: i) Pass-band magnitude constant to 0.7 dB below the frequency of 0.15 pi ii) Stop-band attenuation at least 14 dB for the frequencies between 0.6pi to pi. Use Butterworth approximation as a prototype and use bilinear transformation method to obtain the digital filter.

Q7. Design a linear phase FIR filter using Kaiser Window to meet the following specifications: 0.99 <= |H(e^jw)| <= 1.01 for 0 <= w <= 0.19pi; |H(e^jw)| <= 0.01 for 0.21pi <= w <= pi. Draw the flow chart for Optimum filter design.

Q8. How fast is FFT compare to DFT? Draw the butterfly diagram of 8-point DFT of a sequence as x[n] = n + 1 using Decimation in Time FFT algorithm.

Q9. State the circular convolution property of DFT. Find the circular convolution of: (a) {1, 2, -1, 1} and x2(n) = {1, 3, 5, 7}

Regular2074 Chaitra

2074 Chaitra · Regular · BCT · 10 questions

Q1. Plot the sequence x[n] = u[n] - u[n-3] + 5delta[n-4] = nu[n-6]. List out the properties of LTI system.

Q2. Determine whether the following system are: a) y[n] = y[n-4] + x[n-4] is Time-invariant or not b) y[n] = x^2[n] is Linear or Non-linear

Q3. Define a ROC. What are the properties of ROC of z-transform? Find the inverse Z-transform of X(z) = (2z^2 + 2z^2 + 3z + 5)/(z^2 - 0.1z - 0.2), ROC: |z| < 0.4.

Q4. The poles of a system are located at: 0.45 - 0.77i and -2 +/- 0.3i. Map the poles and zero in the z-plane and plot the magnitude response of the system.

Ch 4Numerical5FIR structures

Q5. Obtain the Direct Form I and Direct Form II realization of the following system. 3y[n] + y[n-1] + 2y[n-4] = 2x[n] + x[n-3]

Ch 4Numerical5The FIR lattice

Q6. Determine the lattice coefficients coefficients corresponding to the FIR filter with the system function: H(z) = A3(z) = 1 + (52/96)z^-1 + (25/40)z^-2 + (1/3)z^-3

Q7. Design a digital low-pass filter with the following specification: i) Pass-band magnitude constant to 0.7 dB below the frequency of 0.15pi ii) Stop-band attenuation at least 14 dB for the frequencies between 0.6pi to pi. Use Butterworth approximation as a prototype and use impulse invariance method to obtain the digital filter.

Ch 5Numerical9+3The Kaiser window

Q8. Design a FIR linear phase filter using Kaiser window that meets the following specifications: |H(e^jw)| <= 0.01 for 0 <= |w| <= 0.25pi; 0.95 <= |H(e^jw)| <= 1.05 for 0.35pi <= |w| <= 0.6pi; |H(e^jw)| <= 0.01 for 0.65pi <= |w| <= pi. Also determine the minimum length (M+1) of the impulse response and Kaiser window parameter beta.

Q9. Why do we need DFT? Draw the butterfly structure to compute the DFT of the following signal using Radix-2 DIFFFT algorithm, and compute X(2) and X(1) only x[n] = {1.5, -1, 1.8, 0.6, 3, 1.7}.

Q10. Define zero padding. Find the linear convolution through circular convolution with padding of zeros for the following sequences: x[n] = {1, 1, 1, 1} and h[n] {2, 3}.

Back2074 Ashwin

2074 Ashwin · Back · BCT · 10 questions

Q1. Define Energy and Power type discrete time signal. Check whether signal x[n] = e^(j(pi n/3 + pi/4)) is periodic or not. If it is periodic, state its periodic time.

Q2. Find the output of LTI system having impulse response h[n] = (1/2)^n {u[n+2] - u[n-2]} and input signal x[n] = {2, 1, 0.5, -1}. Also check the answer.

Q3. State and explain the properties of a Region of Convergence (ROC). Find the inverse z-transform of X(z) = z^2 [1 - (3/2)z^-1](1 + z^-1)(1 - z^-1)

Q4. Plot the pole-zero in z-plane and Draw Magnitude Response (not to the scale) of the system described by difference equation y[n] - 0.4y[n-1] + 0.2y[n-2] = x[n] + 0.5x[n-1] + 0.6x[n-2] + 0.8x[n-3]

Q5. Draw the direct form and Lattice structure of a filter with system function H(z) = 1 + 0.7z^-1 + 1.2z^-2 - z^-3.

Q6. Why Kaiser window is better than other fixed windows in FIR filter design? Find out first six coefficients of impulse response of a low pass FIR filter having Pass band edge frequency w_p = 0.2pi, Stop band edge frequency w_s = 0.5pi and Stop band attenuation a_s = 41dB using any appropriate window function.

Q7. What is an optimum filter? Show mathematical expression of the Remez exchange algorithm for FIR filter design with flow chart.

Ch 6Numerical15The design route

Q8. Design a low pass discrete IIR filter by Bilinear Transformation method to an approximate Butterworth filter having specifications as below: Pass bandedge frequency (wp) = 0.27 pi radians, Stop bandedge frequency (ws) = 0.58 pi radians, Passband ripple (deltap) = 0.11, Stopband ripple (deltas) = 0.21, Consider sampling frequency 0.5 Hz.

Q9. Compute the 8-point DFT of the sequence x[n] = {1/2, 1/2, 1/2, 1/2, 0, 0, 0, 0} using Decimation in Frequency Fast Fourier Transform (DIF-FFT) algorithm.

Q10. What is a zero padding? If X1(k) and X2(k) are DFT of sequence x1[n] = {1, 2, 0, 1, -2} and x2[n] = {1, 0, 1, 1, 2} respectively then find the sequence x3[n]; If DFT of x3[n] is given by X3(k) = X1(k) X2(k).

New Back2073 Shrawan

2073 Shrawan · New Back · BCT · 11 questions

Q1. Explain the process of calculating fourier series coefficients.

Q2. Determine the system output y(n) of the following signals: h(n) = {1, 1, 1} and x(n) = {1, 1, 1, 1}

Q3. Define a ROC. Find inverse Z-transform of X(z) = z/{(z - 0.4)(z + 1.5)^2}, ROC: |z| < 0.4

Q4. State linear constant coefficient difference equation and corresponding system function. Determine the output sequence of the system with impulse response h[n] = (1/2)^n u[n] when the input signal is x[n] = 10 - 5sin(pi n/2) + 20cos(pi n), -infinity < n < infinity.

Q5. The system function of a filter is H(z) = 2 + 1.8z^-1 - 1.6z^-2 + z^-3. Draw the Direct Form and Lattice Structure implementation of the above filter.

Q6. Explain in detail about how rectangular window is used in FIR filter design. How Gibb's oscillations arise in this process.

Q7. Explain about Remaz exchange algorithm with suitable derivation and flow chart.

Ch 6Numerical12The design route

Q8. Using bilinear transformation, design a butterworth low pass filter which satisfies the following Magnitude Response: 0.89125 <= |H(e^jw)| <= 1 for 0 <= w <= 0.2pi; |H(e^jw)| <= 0.17783 for 0.3pi <= w <= pi

Q9. Explain briefly about bilinear transformation method of IIR filter design.

Q10. Why do we need DFT? Find 8-point DFT of sequence x[n] = {1, -1, 2, 2, 1, 1, 2, 2} using Fast Fourier Transform algorithm.

Q11. Find x3[n] if DFT of x3[n] is given by X3(k) = X1(k) X2(k) where X1(k) and X2(k) are 5-point DFT of x1[n] = {1, -2, 2, 1, 4} and x2[n] = {2, 1, -3, -1} respectively.

Regular2072 Chaitra

2072 Chaitra · Regular · BCT · 12 questions

Q1. How fourier series coefficients are calculated? Explain.

Q2. Find the output of LTI system having impulse response h[n] with h[-2] = 1, h[0] = 2, h[1] = 3 and input signal x[n] with x[0] = 1/2, x[2] = 2, x[3] = 3. Also check the answer.

Q3. Explain the properties of Region of Convergence with examples.

Q4. Describe stability and causality characteristics of LTI system in terms of Impulse Response and ROC of its transfer function with suitable examples.

Q5. Plot the pole-zero in z-plane and Draw Magnitude Response (not to the scale) of the system described by difference equation. y[n] - 0.4y[n-1] + 0.1y[n-2] = x[n] + 0.6x[n-1]

Ch 4Numerical5FIR structures

Q6. Determine the Direct Form I and Direct Form II realization of the following system. y(n) = -0.1y(n-1) + 0.2y(n-2) + 3x(n) + 3.6x(n-2) + 0.6x(n-2)

Ch 4Numerical5The FIR lattice

Q7. Compute the lattice coefficients and draw the lattice structure of following FIR system. H(z) = 1 + 2z^-1 + z^-2

Q8. Describe how digital FIR filter can be design by window method. Why Kaiser window is better than other fixed windows in FIR filter design?

Q9. What is an optimum filter? Show mathematical expression of Remez exchange algorithm for FIR filter design.

Q10. Explain about the advantages of selecting bilinear transformation method over impulse invariance method (I I M). Design a digital low pass Butterworth filter using impulse invariant transformation with pass band and stop band frequencies 200Hz and 500Hz respectively. The pass band and stop band attenuation are -5dB and -12dB respectively. The sampling frequency is 5kHz. Use IIM method.

Ch 7Numerical8Decimation in time

Q11. Find the FFT of the signal x[n] {1, 1, 2, 4, 3, 1, 2, 1} using DIT-FFT algorithm.

Q12. Compute Circular Convolution of h(n) = {1, 2, 1, -1, 1} and x[n] = {1, 2, 3, 1}.

New Back2072 Kartik

2072 Kartik · New Back · BCT · 11 questions

Q1. Define energy and power signal. Check the signal x[n] = u[n] and x[n] = delta[n] is Energy or Power type.

Q2. Find the output of LTI system having impulse response h[n] = (1/3)^n {u[n+1] - u[n-2]} and input signal x[n] = {2, 1, 0.5, 3}.

Q3. State the properties of region of convergence (ROC). Drive the convolution property of Z-transform.

Q4. Find the output of LTI System having impulse response h[n] = (1/2)^n u[n] and input signal x[n] = 5e^(j pi n/3) for -infinity < n < infinity.

Q5. Plot Magnitude Response (not to the scale) of the system described by difference equation. y[n] - 0.5y[n-1] + 0.3y[n-2] = x[n] + 0.7x[n-1]

Ch 4Numerical4FIR structures

Q6. Determine the Direct Form II realization of the following system y(n) = -0.1y(n-1) + 0.72y(n-2) + 0.7x(n) - 0.252x(n-2)

Ch 4Numerical6The FIR lattice

Q7. Compute the lattice coefficients and draw the lattice structure of following FIR system H(z) = 1 + 2z^-1 - 3z^-2 + 4z^-3

Q8. Draw the flowchart of Remez-Exchange theorem and explain it. Design an FIR linear phase filter using Kaiser window to meet the following specifications: 0.99 <= |H(e^jw)| <= 1.01 for 0 >= w >= 0.19pi; |H(e^jw)| <= 0.01 for 0.21pi <= w <= pi

Ch 6Numerical15The design route

Q9. Design a low pass digital filter by Bilinear Transformation method to an approximate Butterworth filter, if passband edge frequency is 0.25 pi radians and maximum deviation of 1 dB below 0 dB gain in the passband. The maximum gain of -15 dB and frequency is 0.45 pi radians in stopband, Consider sampling frequency 1Hz.

Ch 7Numerical7Decimation in time

Q10. Find 8-point DFT of sequence x[n] = {1, 1, 0, 1, 0, 1, 2} using Decimation in Time Fast Fourier Transform (DITFFT) algorithm.

Q11. Why we need DFT? If X1(k) and X2(k) are DFT of sequence x1[n] = {1, 2, 4} and x2[n] = {-1, 2, 3, 1} respectively, then find the sequence x3[n], if DFT of x3[n] is given by X3(k) = X1(k) X2(k).

New Back2071 Shrawan

2071 Shrawan · New Back · BCT · 10 questions

Q1. Find the odd and even part of the following signal: [a stem plot of x[n] with values 1 at n = -4, -3, -2, -1 and 0, and 2 at n = 1, 2, 3, 4]. A discrete time LTI system has input signal and impulse response as, x[n] = 1 for -1 <= n <= 1 and 0 elsewhere, and h[n] = 1 for -1 <= n <= 1 and 0 elsewhere. Find the output of the system using graphical method.

Q2. Find the inverse z transform of: X(Z) = (1 + 2z^-1 + z^-2)/(1 + 1.5z^-1 + 0.5z^-2), |z| > 1 using partial fraction method.

Q3. Why do we need difference equation? State linear constant coefficient difference equation and corresponding system function. Consider an LTI system with impulse response h[n] = (1/2)^n u[n]. Determine y[n], if the input is x[n] = Ae^(j pi n).

Q4. If a 3 stage lattice filter for all pole polynomial has coefficients K1 = 1/4, K2 = 1/2 and K3 = 1/3. Obtain the system function of this filter.

Q5. What is the importance of quantization in Digital Signal Processing? Which one is better rounding or truncation? Explain about limit cycles in recursive system? Define dead band.

Q6. Explain in detail about how rectangular window is used in FIR filter design. How Gibb's oscillations arise in this process.

Q7. What is a Remez exchange algorithm? Derive its equation and draw its flow chart.

Ch 6Numerical15The design route

Q8. Design a low pass digital filter by Bilinear Transformation method to an approximate Butterworth filter it passband frequency is 0.2pi radians and maximum deviation of 1 db below 0 dB gain in the pass band. The maximum gain of -15 db and frequency is 0.4pi radians in stop band, consider sampling frequency 1 Hz.

Q9. A system has input signal x[n] = {1, 2, 3, 4} and impulse response h[n] = {1, 3, 5, 7} and the DFT of x[n] is X[k] and the DFT of h[n] is H[k]. Find the output of the system y[n] if G[k] = X[k].H[k]

Ch 7Numerical6+2Decimation in time

Q10. Find DFT for {1, 1, 2, 0, 1, 2, 0, 1} using FFT DIT butterfly algorithm and plot the spectrum.

39 formulas · one scroll through all seven chapters · click any formula for its derivation

The formula sheet

Every formula this subject asks you to carry, in syllabus order, as one continuous scroll. The bar below narrows it to a single chapter when you are revising one. Click a formula to see where it comes from: a formula you cannot derive is a formula you will misremember under pressure, and several of these questions award the derivation on its own.

How to use this page

  • Read it as one scroll the week before, and as one chapter the night before.
  • Open the derivation once per formula, then close it and see whether you can rebuild it. That is the difference between a formula you have read and one you own.
  • Each formula says what it earns, so none of them is abstract: the line underneath names the question it is for and how often that question has been set.
  • Test yourself on these in the flashcards section, which asks these same formulas and comes back more often to the ones you miss.

1Discrete time signals and systems

The energy of a discrete time signal
E=n=|x[n]|2
Deciding whether a signal is an energy signal, which every sitting pairs with the periodicity test.
Where it comes from

The instantaneous power of a sample is |x[n]|^2, by analogy with v^2/R in a one ohm resistor. Energy is power accumulated over time, and in discrete time accumulation is a sum, so the energy is the sum of |x[n]|^2 over every n at which the signal exists.

The modulus matters: for a complex signal, x[n]^2 is not the power and can even be negative. Writing |x[n]|^2 = x[n] x*[n] is what keeps it real and positive.

The average power of a discrete time signal
P=limN12N+1n=NN|x[n]|2periodic: P=1Nn=0N1|x[n]|2
The other half of the energy or power question, and the reason a complex exponential is a power signal with P = 1 in one line.
Where it comes from

Average power is energy per sample. Over the window -N to N there are 2N + 1 samples, so the average is the energy in that window divided by 2N + 1, and the limit widens the window to the whole signal.

The 2N + 1, rather than 2N, is where the answer P = 1/2 for the unit step comes from: the window holds 2N + 1 samples of which only N + 1 are non zero, and (N+1)/(2N+1) tends to 1/2.

For a periodic signal every period contributes the same amount, so the limit collapses to the average over one period and no limit needs taking.

The condition for a discrete time sinusoid to be periodic
periodicω02π is rationalω02π=kN in lowest termsperiod Nseveral: N=LCM(N1,N2,)
Question 1 in six of the nineteen sittings, on its own or beside the energy test.
Where it comes from

Periodicity means x[n + N] = x[n] for an integer N. For x[n] = e^(j w0 n) that demands e^(j w0 (n+N)) = e^(j w0 n), so e^(j w0 N) = 1, so w0 N = 2 pi k for some integer k.

Rearranged, w0/(2 pi) = k/N: a ratio of integers. If w0/(2 pi) is irrational no integer N can satisfy it and the signal is aperiodic, however smooth it looks.

This is the one real difference from continuous time, where any period is allowed and every sinusoid is periodic.

The even and odd parts of a signal
xe[n]=x[n]+x[n]2,xo[n]=x[n]x[n]2,x[n]=xe[n]+xo[n]
A two or three mark opener, and the reason every real spectrum is conjugate symmetric.
Where it comes from

Assume the split exists: x[n] = xe[n] + xo[n]. Replace n by -n and use the definitions xe[-n] = xe[n] and xo[-n] = -xo[n], which gives x[-n] = xe[n] - xo[n].

Add the two equations and the odd parts cancel, leaving 2 xe[n]. Subtract them and the even parts cancel, leaving 2 xo[n]. Halving each gives the formulas, and the derivation also proves the split is unique.

The convolution sum
y[n]=k=x[k]h[nk]=x[n]*h[n]starts at n1+m1,length Nx+Nh1
The most set question in the subject: sixteen of nineteen sittings ask for a y[n].
Where it comes from

Three steps, and each uses one property:

1. Sifting. Any sequence is a sum of scaled, shifted impulses: x[n] = sum over k of x[k] delta[n-k].

2. Linearity. The response to that sum is the sum of the responses: y[n] = sum over k of x[k] T{delta[n-k]}.

3. Time invariance. T{delta[n-k]} = h[n-k], because the system does not care when the impulse arrives.

Putting them together gives the sum, and it also proves the claim that makes the subject work: h[n] alone describes the system completely.

The discrete time Fourier series pair
x[n]=k=0N1ckej2πkn/Nsynthesisck=1Nn=0N1x[n]ej2πkn/Nanalysis
Explaining the process of finding the coefficients, which two sittings ask outright.
Where it comes from

Multiply the synthesis equation by e^(-j 2 pi m n/N) and sum over one period in n, then interchange the two sums.

The inner sum is (1/N) times the sum over one period of e^(j 2 pi (k-m) n/N). It is a geometric series with ratio e^(j 2 pi (k-m)/N), whose numerator 1 - e^(j 2 pi (k-m)) is zero unless k = m, where every term is 1 and the sum is N. That is orthogonality.

Every term therefore dies except k = m, leaving N c[m], and dividing by N gives the analysis equation.

The discrete time Fourier transform pair
X(ejω)=n=x[n]ejωnanalysisx[n]=12πππX(ejω)ejωndωsynthesisexists when |x[n]|<
Assumed knowledge in every frequency domain question, and the object every filter design shapes.
Where it comes from

Take the Fourier series of a periodic signal and let the period N grow without bound. The spacing between the harmonics, 2 pi/N, shrinks to zero, the discrete lines N c[k] merge into a continuous function of w, and the sum in the synthesis equation becomes an integral.

Periodic in 2 pi, always, because e^(-j(w + 2pi)n) = e^(-jwn) for integer n. All the information is in one period, which is why every spectrum in this subject is drawn over -pi to pi.

The multiplication property of the DTFT
x1[n]x2[n]12πππX1(ejθ)X2(ej(ωθ))dθ
The whole explanation of the window method and of Gibbs oscillation, and one sitting asks for the property itself.
Where it comes from

Write the transform of the product: X(e^jw) = sum over n of x1[n] x2[n] e^(-jwn).

Replace x1[n] by its inverse transform, (1/2pi) times the integral of X1(e^j th) e^(j th n) d th, and interchange the sum and the integral.

What is left inside is sum over n of x2[n] e^(-j(w - th) n), which is X2(e^j(w - th)).

The convolution is periodic, over one span of 2 pi, because both spectra are: an ordinary infinite convolution of two periodic functions would diverge.

The spectrum of a sampled signal
X(ejω)=1Tk=Xa(jω2πkT)ω=ΩT=2πFFs,Fs>2Fmax
The theory behind every sampling question, and the reason an anti alias filter exists.
Where it comes from

Sampling is multiplication by an impulse train of period T. The transform of an impulse train is another impulse train, spaced 2 pi/T apart.

By the multiplication property, multiplying in time convolves in frequency, and convolving anything with an impulse train makes copies of it at the impulse positions. Hence the sum of shifted copies, scaled by 1/T.

If the copies are spaced closer than the signal is wide they overlap, high frequencies fold down and are indistinguishable from low ones: that is aliasing, and the condition that prevents it is the sampling theorem.

2The z-transform

The z-transform
X(z)=n=x[n]zn(quote the ROC with it, always)
Two sittings ask for the definition, and every question in chapters 2 to 6 uses it.
Where it comes from

Write z = r e^(jw) and the sum becomes sum of x[n] r^-n e^(-jwn): the DTFT of the sequence x[n] r^-n. The extra factor r^-n is a convergence aid, and it lets the transform exist for sequences whose DTFT does not, such as the unit step or a growing exponential.

On the unit circle, r = 1, the z-transform is the DTFT. That is why the unit circle appears in every stability statement.

The region of convergence, and what it tells you
finite length:the whole plane, bar z=0 or right sided:|z|>rmaxleft sided:|z|<rmintwo sided:r1<|z|<r2stablethe ROC contains |z|=1causalthe ROC is outside the outermost pole
Two marks in eight sittings for the definition, seven more for the properties, and the deciding step of every inverse transform.
Where it comes from

Convergence of sum |x[n] z^-n| depends only on |z|, so the ROC can only be a set of radii: a ring centred on the origin. It contains no pole, since X(z) is infinite there.

A right sided sequence has only negative powers of z, which shrink as |z| grows, so it converges outward. A left sided one has only positive powers and converges inward. A two sided one needs both at once, which is a ring.

The ROC containing |z| = 1 is precisely the statement that sum |x[n]| converges, which is absolute summability, which is BIBO stability.

Inverting X(z) by partial fractions
1. divide first if deg(num)deg(den)2. expand X(z)z, not X(z)Ak=[(zpk)X(z)z]z=pk3. ROC outside pk:Akpknu[n]  ROC inside pk:Akpknu[n1]
Question 3 in fifteen of the nineteen sittings.
Where it comes from

The standard pair is z/(z - a), not 1/(z - a), so every term must arrive with a z on top. Expanding X(z)/z and multiplying back by z at the end is what guarantees that; expanding X(z) directly leaves terms of the form A/(z - a), whose inverse is a shifted version and a common source of lost marks.

The two possible inverses come from the geometric series read in opposite directions: z/(z-a) = 1/(1 - a z^-1) expands in powers of a z^-1 when |z| > |a|, which is a causal sequence, and in powers of z/a when |z| < |a|, which is anticausal and carries the minus sign.

The convolution property of the z-transform
x1[n]*x2[n]X1(z)X2(z)Y(z)=H(z)X(z)
It defines H(z), which is the object every remaining chapter manipulates.
Where it comes from

Y(z) = sum over n of [ sum over k of x1[k] x2[n-k] ] z^-n. Interchange the sums, valid inside the common ROC, and substitute m = n - k so that z^-n = z^-m z^-k.

The two sums then separate completely: sum over k of x1[k] z^-k times sum over m of x2[m] z^-m, which is X1(z) X2(z).

The ROC is at least the intersection of the two, and can be larger if a pole of one cancels a zero of the other.

The z-transform pairs worth memorising
δ[n]1all zu[n]zz1|z|>1anu[n]zza|z|>|a|anu[n1]zza|z|<|a|nan1u[n]z(za)2|z|>|a|δ[nk]zk
Every inverse transform question, and the check that a partial fraction answer is the right shape.
Where it comes from

All of them come from one geometric series. For a^n u[n] the transform is sum from n = 0 of (a z^-1)^n, which converges to 1/(1 - a z^-1) = z/(z - a) when |a z^-1| < 1, that is |z| > |a|.

For the left sided version, sum from n = -1 down of -a^n z^-n = -sum from m = 1 of (z/a)^m = z/(z - a) when |z| < |a|: the same algebra, a different ROC, which is the point of the whole chapter.

The repeated pole pair follows by differentiating the first with respect to a, and the cosine pair by writing the cosine as two exponentials.

3LTI systems in the frequency domain

The frequency response, and the response to an exponential
H(ejω)=n=h[n]ejωnx[n]=Aejω0ny[n]=AH(ejω0)ejω0nx[n]=Acos(ω0n+ϕ)y[n]=A|H(ejω0)|cos(ω0n+ϕ+H(ejω0))
Five sittings ask for a y[n] this way, and it is the cheapest five marks on the paper once you stop trying to convolve.
Where it comes from

Put A e^(j w0 (n-k)) into the convolution sum. The factor A e^(j w0 n) does not involve k, so it comes outside, leaving sum over k of h[k] e^(-j w0 k), which is H(e^j w0).

So the exponential comes out unchanged in shape, multiplied by one complex number: it is an eigenfunction and H(e^jw0) is the eigenvalue.

The real sinusoid follows by writing it as two exponentials at plus and minus w0 and using the conjugate symmetry H(e^-jw) = H*(e^jw) that a real h[n] forces.

Reading the magnitude response off the pole zero map
|H(ejω)|=|K|k|ejωzk|k|ejωpk|
The most set question in the subject: seventeen sittings want this sketch.
Where it comes from

Factor H(z) = K times the product of (z - zk) over the product of (z - pk). Evaluate on the unit circle, z = e^jw, and take the modulus: the modulus of a product is the product of the moduli, and |e^jw - zk| is precisely the distance from the point e^jw to the zero zk.

Sliding the point round the circle therefore moves it near each pole and each zero in turn. A pole close to the circle makes its distance small, and a small number on the bottom makes |H| large: a peak. A zero close to the circle makes a small number on top: a dip.

Something at the origin sits at distance 1 from every point of the unit circle, so it contributes a constant factor of 1 and affects only the phase.

The difference equation and its system function
k=0Naky[nk]=k=0Mbkx[nk],a0=1H(z)=b0+b1z1++bMzM1+a1z1++aNzN
The bridge between chapters 2 and 4, and the first step of every realization question.
Where it comes from

Take the z-transform of both sides, term by term, using the shift property x[n-k] maps to z^-k X(z). Every delay becomes a power of z^-1, and the equation becomes Y(z) sum a[k] z^-k = X(z) sum b[k] z^-k.

Dividing gives H(z) = Y(z)/X(z), a ratio of polynomials in z^-1 whose coefficients are exactly the numbers in the difference equation. That correspondence is what lets a structure be drawn straight from the equation.

BIBO stability
BIBOn=|h[n]|<the ROC contains |z|=1|pk|<1 k
Asked outright once, and needed as a one line justification in most filter questions.
Where it comes from

Sufficiency. If |x[n]| <= Mx then |y[n]| = |sum h[k] x[n-k]| <= sum |h[k]| |x[n-k]| <= Mx sum |h[k]|, by the triangle inequality. A finite sum bounds the output.

Necessity. Choose the bounded input x[n] = sign(h[-n]). Then y[0] = sum over k of h[k] sign(h[k]) = sum |h[k]|, so if that sum diverges a bounded input has produced an unbounded output.

The ROC statement is the same condition written for z-transforms, since |z| = 1 makes |x[n] z^-n| = |x[n]|.

Linear phase, and the condition on h[n]
h[n]=±h[N1n]H(ejω)=ejω(N1)/2Hr(ω),Hr realτg=N12 samples, at every ω
The property every FIR design in chapter 5 is built to have.
Where it comes from

Pair the terms of the transform sum that the symmetry relates, n and N-1-n. Factor out e^(-jw(N-1)/2) from each pair and what is left inside is e^(jw(n - (N-1)/2)) + e^(-jw(n - (N-1)/2)), which is 2 cos of a real quantity.

The sum of those cosines is real, so the whole transform is a real function multiplied by e^(-jw(N-1)/2): the phase is exactly -w(N-1)/2, a straight line, and the group delay, minus its derivative, is the constant (N-1)/2.

An antisymmetric h[n] gives sines instead, which adds a constant pi/2 to the phase and leaves it linear still.

4Discrete filter structures

Direct form II, and why it is allowed
w[n]=x[n]k=1Nakw[nk]y[n]=k=0Mbkw[nk]delays max(M,N): canonic
Nine sittings ask for direct form I and II, and it is a drawing, not a calculation.
Where it comes from

H(z) = B(z) times 1/A(z), and an LTI cascade is commutative, so the all pole section 1/A(z) may be placed first without changing the overall response.

Once it is first, both sections are driven by the same internal signal w[n], so the two delay chains hold identical values at every instant and one chain can serve both. That is the entire argument, and it is worth writing beside the drawing.

The step down recursion: coefficients to lattice
Km=αm(m)αm1(k)=αm(k)Kmαm(mk)1Km2,k=1m1
Seven sittings for the FIR lattice and ten more for the lattice ladder.
Where it comes from

Start from the order update Am(z) = A(m-1)(z) + Km z^-m A(m-1)(z^-1). Reading the coefficient of z^-m on both sides gives alpha_m(m) = Km directly, since A(m-1) has no z^-m term and the reversed polynomial contributes its leading 1.

Reading the coefficient of z^-k gives alpha_m(k) = alpha_(m-1)(k) + Km alpha_(m-1)(m-k). Writing the same relation with k replaced by m-k gives a second equation in the same two unknowns; solving the pair eliminates alpha_(m-1)(m-k) and leaves the recursion, with the 1 - Km^2 appearing as the determinant of that two by two system.

The determinant is why |Km| = 1 stops the recursion: the two equations become dependent, and no lattice exists.

The order update: lattice back to coefficients
Am(z)=Am1(z)+KmzmAm1(z1)
Two sittings ask for H(z) from three given K values, and it is the check on every lattice answer.
Where it comes from

The lattice stage computes fm = f(m-1) + Km z^-1 g(m-1) and gm = Km f(m-1) + z^-1 g(m-1). In transform terms, with Am(z) the transfer function from the input to fm and Bm(z) that to gm, this reads Am = A(m-1) + Km z^-1 B(m-1) and Bm = Km A(m-1) + z^-1 B(m-1).

Induction shows Bm(z) = z^-m Am(z^-1), the reversed polynomial, at every order: it is true at m = 0 and the pair of relations preserves it. Substituting that into the first relation gives the update.

The ladder coefficients
CM=bMCm=bmi=m+1MCiαi(im),m=M10y[n]=m=0MCmgm[n]
The second half of every lattice ladder question.
Where it comes from

The backward signals g0 ... gM of the lattice are the outputs of the reversed polynomials Bm(z) = z^-m Am(z^-1), which form a basis: any polynomial of degree M can be written as a weighted sum of them.

Writing B(z) = sum over m of Cm Bm(z) and matching the coefficient of z^-M gives CM = bM immediately, since only BM reaches that power. Matching the next power down gives C(M-1) with one correction term, and so on, which is the recursion.

Quantization noise and the dead band
q=2B,σe2=q212,SNR=6.02B+1.76 dBdead band: |y[n]|q2(1|a|)
The one quantization question, and the reason a sharp IIR filter suffers most.
Where it comes from

Model the rounding error as uniformly distributed over -q/2 to +q/2. The variance of a uniform distribution of width q is q^2/12, which is the noise power.

For a full scale sinusoid the signal power is A^2/2 with A = 2^(B-1) q, and forming 10 log10 of the ratio gives 6.02B + 1.76 dB: about 6 dB per bit.

The dead band follows from asking when rounding cannot reduce the output further: the filter multiplies by a and the quantizer rounds the result back up whenever |a y| >= |y| - q/2, which rearranges to the bound shown.

5FIR filter design

The ideal low pass impulse response
hd[n]=sin(ωc(nτ))π(nτ),hd[τ]=ωcπ,τ=N12
The first line of every window design, eleven sittings of them.
Where it comes from

Take the inverse DTFT of the ideal response, which is e^(-jw tau) inside |w| <= wc and zero outside. The integral runs only over the passband, so

hd[n] = (1/2pi) times the integral from -wc to wc of e^(j w (n - tau)) dw, which evaluates to [e^(j wc (n-tau)) - e^(-j wc (n-tau))] / (2 pi j (n - tau)).

The bracket is 2j sin(wc(n-tau)), and the j cancels, leaving the sinc. At n = tau the expression is 0/0; the limit of sin(x)/x is 1, so hd[tau] = wc/pi.

The factor e^(-jw tau) in the desired response is the delay that makes the filter causal, and it is exactly what makes the result symmetric about tau.

The windows: attenuation and transition width
Rectangular:21 dB,Δω=1.8π/NBartlett:25 dB,Δω=6.1π/NHanning:44 dB,Δω=6.2π/NHamming:53 dB,Δω=6.6π/NBlackman:74 dB,Δω=11π/N
Choosing the window is the first mark of every window design question.
Where it comes from

By the multiplication property, the designed response is the ideal brick wall convolved with the window's own spectrum.

The main lobe of that spectrum smears the band edge, so its width becomes the transition band: a longer window has a narrower main lobe, which is why the width goes as 1/N.

The side lobes ride over the discontinuity and become the passband and stopband ripple, so their height sets the attenuation. Side lobe height depends on the window's shape, not its length, which is why the attenuation column has no N in it.

The whole table is that one trade: a smoother taper buys lower side lobes and pays with a wider main lobe.

The Kaiser window design equations
δ=min(δp,δs),A=20log10δβ=0.1102(A8.7)if A>50β=0.5842(A21)0.4+0.07886(A21)if 21A50β=0if A<21NA82.285Δω+1w[n]=I0(β1(2n(N1)N1)2)I0(β)
Eleven sittings, usually for the full fifteen marks.
Where it comes from

These are empirical fits, not derivations, and saying so is honest: Kaiser found them by computing the achievable attenuation for a range of beta and fitting curves.

What can be derived is the shape. The Kaiser window approximates the prolate spheroidal sequence, the function with the greatest possible fraction of its energy in the main lobe for a given side lobe level, which is why it is close to the best a window can do.

The reason it beats a fixed window in practice is simpler: a fixed window overshoots the required attenuation, and every decibel of overshoot is paid for in filter length.

The Remez exchange algorithm and the alternation theorem
E(ω)=W(ω)[Hd(ω)Hr(ω)],min maxω|E(ω)|alternation: E(ωi)=E(ωi+1)=±δ at L+2 pointsHr(ωi)+(1)iδW(ωi)=Hd(ωi),i=1L+2
Fifteen of the nineteen sittings, and it is almost entirely bookwork.
Where it comes from

The theorem is what turns "minimise the worst error" into a finite set of equations. If there were fewer than L + 2 alternations, a polynomial of the available degree could be added to reduce the peak error, so the approximation would not be optimal; conversely, with L + 2 alternations no such polynomial exists, because it would have to change sign L + 1 times and therefore have L + 1 roots, which exceeds its degree.

The algorithm is then: guess L + 2 extremal frequencies, solve the equations for delta in closed form, interpolate Hr onto a dense grid, find the new extrema, exchange, and repeat. delta increases at every exchange and is bounded above by the true minimax error, so it converges.

Gibbs' phenomenon
overshoot9% of the jump, for every N
Six sittings, usually as the theory half of a window design question.
Where it comes from

Truncating the ideal response is multiplying by a rectangular window, whose spectrum is the Dirichlet kernel sin(wN/2)/sin(w/2), with a first side lobe only 13 dB below the main lobe.

As the convolution sweeps that kernel past the discontinuity, the side lobes ride over the edge and produce an overshoot. Lengthening the window compresses the kernel horizontally but leaves the ratio of side lobe to main lobe unchanged, so the overshoot keeps its size.

The cure is therefore not a longer window but a smoother one: a taper that falls to zero at both ends has much lower side lobes and much less overshoot.

6IIR filter design

The Butterworth magnitude and its order
|Ha(jΩ)|2=11+(Ω/Ωc)2NNlog10[100.1As1100.1Ap1]2log10(Ωs/Ωp)Ωc=Ωp(100.1Ap1)1/2N
Eighteen of the nineteen sittings set this design.
Where it comes from

Put the two specification points into the magnitude squared. At W = Wp it must be at least 10^(-Ap/10), which rearranges to (Wp/Wc)^(2N) <= 10^(0.1 Ap) - 1. At W = Ws it must be at most 10^(-As/10), which gives (Ws/Wc)^(2N) >= 10^(0.1 As) - 1.

Divide the second by the first and Wc cancels, leaving (Ws/Wp)^(2N) >= [10^(0.1As) - 1]/[10^(0.1Ap) - 1]. Taking logarithms gives the order formula, and it must be rounded up because N is an integer and rounding down fails the specification.

Putting N back into either inequality, as an equality, gives the two expressions for Wc: one meets the passband exactly, the other the stopband.

The Butterworth pole positions
sk=Ωcexp(jπ2k+N+12N),k=0N1N=1:Ha(s)=Ωcs+ΩcN=2:Ha(s)=Ωc2s2+1.4142Ωcs+Ωc2N=3:Ha(s)=Ωc3(s+Ωc)(s2+Ωcs+Ωc2)
The step between the order and the transfer function, every time.
Where it comes from

Continue |Ha(jW)|^2 into the s plane by putting W = s/j, giving Ha(s) Ha(-s) = 1/[1 + (s/(j Wc))^(2N)]. Its poles satisfy (s/(j Wc))^(2N) = -1, so s^(2N) = -(j Wc)^(2N), whose 2N roots are evenly spaced on a circle of radius Wc.

The roots come in pairs symmetric about the origin, one in each half plane. Assigning the left half plane ones to Ha(s) gives a stable, causal filter; the right half plane ones belong to Ha(-s) and are discarded. The angle formula picks exactly the left half set.

No pole ever lands on the jW axis, since the spacing is pi/N and the offset places them between the axis directions.

The bilinear transformation and frequency warping
s=2T1z11+z1Ω=2Ttan(ω2)(prewarp every critical ω)
Thirteen sittings, and "explain frequency warping" is a question in its own right.
Where it comes from

Put z = e^jw and s = jW into the substitution. Factor e^(jw/2) from the top and bottom of (e^jw - 1)/(e^jw + 1): what remains is (e^(jw/2) - e^(-jw/2))/(e^(jw/2) + e^(-jw/2)), which is 2j sin(w/2) over 2 cos(w/2), that is j tan(w/2).

So jW = (2/T) j tan(w/2), giving the warping relation. It is monotonic and one to one, so the entire infinite jW axis maps onto the unit circle exactly once and nothing aliases; but it is non linear, which compresses the high frequencies.

Prewarping undoes that at the band edges: design the analog filter at the warped frequencies and the transformation pulls them back to exactly the digital edges asked for.

Impulse invariance
h[n]=Tha(nT)AkspkTAk1epkTz1H(ejω)=1Tk=Ha(jω2πkT)aliasing
Three sittings set the design, and five more ask how it compares with the bilinear route.
Where it comes from

The analog impulse response of a single pole term Ak/(s - pk) is Ak e^(pk t) u(t). Sampling it gives Ak e^(pk n T) u[n] = Ak (e^(pk T))^n u[n], whose z-transform is the standard pair Ak/(1 - e^(pk T) z^-1), and the factor T comes from the h[n] = T ha(nT) convention.

The frequency relation is the sampling result of chapter 1 applied to ha(t): sampling makes the spectrum repeat every 2 pi/T and the copies add. If Ha(jW) has not decayed by W = pi/T the copies overlap, which is why this method is useless for a high pass filter.

Only the poles map. The zeros of H(z) fall wherever the sum of the mapped terms puts them, which is the other difference from the bilinear transformation.

Digital spectral transformation, low pass to high pass
z1z1+a1+az1a=cos((ωc+ωc)/2)cos((ωcωc)/2)
Two sittings ask for the low pass to high pass case by name.
Where it comes from

The substitution must be all pass, |G(e^jw)| = 1, so that the magnitude values are only relabelled in frequency and never changed in size: the passband stays a passband and the ripple is preserved.

The first order all pass function has one parameter. Demanding that the prototype cut off wc be mapped to the wanted cut off wc' fixes it, and solving that one condition gives the expression for a.

Because an all pass function maps the unit disc to itself, poles inside the circle stay inside: stability survives the transformation.

7The discrete Fourier transform

The DFT and the IDFT
X[k]=n=0N1x[n]WNkn,WN=ej2π/Nx[n]=1Nk=0N1X[k]WNknWNN=1,WNk+N/2=WNk,WN2=WN/2
Five sittings ask why we need it, and every FFT question is this transform computed quickly.
Where it comes from

The DFT is the DTFT sampled at N equally spaced points, w = 2 pi k/N, around the unit circle. That is the whole definition: a finite list in, a finite list out, which is the only kind of spectrum a machine can hold.

The inverse follows from orthogonality, exactly as for the Fourier series: substitute the analysis equation into the synthesis equation, interchange the sums, and the inner sum is N when the indices match and zero otherwise.

Sampling in frequency makes the time sequence periodic with period N, and that single consequence is why DFT convolution comes out circular.

Circular convolution
x1[n]Nx2[n]=m=0N1x1[m]x2[(nm)modN]X1[k]X2[k]circular, not linearequal to linear when NN1+N21
Seventeen sittings, often disguised as "find x3 if X3 = X1 X2".
Where it comes from

Take the inverse DFT of the product X1[k] X2[k]. Write X1[k] as its own sum over m, interchange the two sums, and the inner sum becomes the inverse DFT of X2 evaluated at n - m. Because WN^(-k .) is periodic with period N, that index is taken modulo N.

The modulo is the entire difference from linear convolution: the shifted sequence wraps around instead of running off the end, because the DFT sees both sequences as periodic.

Zero padding both to N >= N1 + N2 - 1 leaves the wrapped part nowhere to land, so the two convolutions agree exactly.

The cost of the FFT
DFT:N2 complex multiplicationsradix-2 FFT:N2log2Nspeed up=2Nlog2N
Six sittings ask how fast, and it is the opening two marks of most FFT questions.
Where it comes from

Split the N point DFT into two N/2 point DFTs. Each costs (N/2)^2, so the pair costs N^2/2, half the original, plus N/2 twiddle multiplications to combine them.

Recurse. Each split halves the work again, and the sequence can be halved log2 N times before reaching transforms of length 1, which need no arithmetic. That leaves log2 N stages of N/2 butterflies, one complex multiplication each.

The saving comes entirely from the two properties of WN: the symmetry WN^(k+N/2) = -WN^k, which lets one product serve two outputs, and WN^2 = W(N/2), which makes a long transform's twiddles into a short transform's twiddles.

Decimation in time
X[k]=G[k]+WNkH[k]X[k+N2]=G[k]WNkH[k],k=0N21
Eleven sittings want an eight point butterfly diagram.
Where it comes from

Split the defining sum by the parity of n, putting n = 2r in one half and n = 2r+1 in the other. The even half gives sum of x[2r] WN^(2rk), and since WN^2 = W(N/2) that is an N/2 point DFT, G[k]. The odd half gives WN^k times another N/2 point DFT, H[k].

For the second half of the outputs, replace k by k + N/2. G and H are periodic with period N/2 so they are unchanged, while WN^(k + N/2) = -WN^k. The two lines therefore share one multiplication, which is the butterfly.

Recursing the split reorders the input by the reversed bits of its index, which is where the bit reversal comes from: it is bookkeeping, not arithmetic.

Decimation in frequency
X[2r]=n=0N/21(x[n]+x[n+N2])WN/2rnX[2r+1]=n=0N/21((x[n]x[n+N2])WNn)WN/2rn
Eight sittings, and the papers name which of the two they want.
Where it comes from

Split the defining sum in half by position instead of parity: the first N/2 samples and the second N/2. In the second sum put n = m + N/2, which brings out a factor WN^(kN/2) = (-1)^k.

For even k that factor is +1, so the two halves add; for odd k it is -1, so they subtract, and the leftover WN^n rides on the difference. Each resulting sum is an N/2 point DFT.

The even outputs and the odd outputs are computed separately, which is what leaves the output in bit reversed order. Reverse every arrow of a decimation in time flow graph and this one appears: they are transposes.

88 cards · 39 formulas and 49 theory answers · what you miss comes back sooner

Flashcards

The formulas and the opening answers, asked one at a time. Mark yourself honestly: a card you knew moves up a box and will not be asked again for twice as long, and a card you did not drops to box one and comes back before you leave the page. Your boxes are saved in this browser, so progress survives closing the tab, and nothing leaves the device.

How this works

  • Five boxes. A new card starts in box one. Knowing it moves it up; missing it sends it back to box one, wherever it had climbed to.
  • The box sets the wait: one day, two, four, eight, then sixteen. So the formulas you know keep out of the way and the ones you do not keep coming back.
  • A missed card returns in this same session, a few cards later, which is where most of the learning happens.
  • Nothing due? That is the system working. Study ahead if you want to, or come back tomorrow.
  • Saved in this browser only. Clearing site data resets it, and a different device starts fresh.