Updated on: Thu Oct 4 14:17:00 CEST 2017
MyRio pic Kombajn pic Connector board pic Stół 12 TI board pic


    What will all this be about?
    Lecture slides
    Dates of lectures/homeworks/tests/labs
    List of lab groups and scores
  • LABS
    Info and examples of entry tests
    Test examples with hints for study

    Current issues

    • Office hours: Jacek Misiurewicz Mon 16:30-17:00, room 454, Damian Gromek Thu 10-12, room 449
    • Lecture start: 5th Oct (Thu), 08:15-10:00, room 121
    • Lab starts with an introductory meeting on 23rd Oct (Mon) 9:15, room CS202,
      Regular labs will be on odd ("N_blue"group) or even ("P_green" group) Mondays, 8:15-12:00
    • Lab group chooser will be started 5th Oct and closed on 13th Oct 10:00. Enter the link to chooser, then:
      • assign grades to different variants (Put "5" if you really want to be in this subgroup, "4" for the second choice, .... down to "1" if it is really bad for you)
      • leave some flexibility if possible (choose more than one acceptable variant), otherwise the assignment problem may be inconsistent.
      • press the blue button "Zapisz" ("Save") -- I am sorry, the web system is still experimental and there is no English version.
      • After the closing date of the chooser I will run the optimizer to assign subgroups,
      • earlier I may make the decision on running/cancelling some subgroups, depending on the number of students registered.
      • If you cannot access the chooser(e.g. you will not obtain your password before deadline) please mail me your choice of grades (5-very good, 4..,3..,2..,1-very bad) for the lab dates: [N-odd Mondays] [P-even Mondays] [F- even Fridays 10-14].
    Where is Lab CS202?

    What to do after EDISP?

    If you are interested, choose elective courses:
    • ETASP - (En) Techniques for Advanced Signal Processing
    • EASP - (En) Adaptive Signal Processing
    or in Polish:
  • TRA - Techniki Realizacji Algorytmów CPS
  • PSYL - Przetwarzanie SYgnałów w Labview
  • SRMP - Sygnały Radiolokacyjne i Metody ich Przetwarzania
  • CCM - Czasowo-Częstotliwościowe Metody przetwarzania sygnałów
  • APSG - Adaptacyjne Przetwarzanie SyGnałów
  • Home page of EDISP
    (English) DIgital Signal Processing course
    semester 2017z (autumn/winter of 2017/18 acad. year)


    The lectures are on Thursday, room 121 08:15-10:00.

    There are lab exercises, 4 hours every second week, room CS202 (new wing C).

    Labs will be on Mondays, 8-12 (N and P weeks) or Fridays 10-14 (P weeks; Fri is only available if the group is LARGE) , in subgroups of not more than 12 students.

    For the introductory lab (lab0) we ALL met on Mon, 23rd Oct , 9:15 in room CS202.
    Next lab (lab1) will be

    "N" subgroup will have labs on Mondays marked as "N" in the official elka calendar (and "P" or "A" subgroup - on "P" Mondays).
    Note that A printable schedule is here


    Book base

    The course is based on selected chapters of the book:

    A. V. Oppenheim, R. W. Schafer, Discrete-Time Signal Processing, Prentice-Hall 1989 (or II ed, 1999; also acceptable previous editions entitled Digital Signal Processing).

    Other books

    Supplementary books I found in our faculty library:
    Leis - DSP using Matlab Taylor - Digital Filters

    Additional books available in Poland:

    Please remember:

    Probably the best choice is to buy a used copy of O&S. It'll serve you for years, if you are interested in DSP. And it contains a lot of PROBLEMS to solve and learn!

    Ingle/Proakis is also a good book (and you may be able to buy a new or almost new copy).

    If you know LANG=PL_pl - you may prefer to buy/borrow a laboratory scriptbook for CYPS, which is in Polish language (Cyfrowe Przetwarzanie Sygnałów, red. A Wojtkiewicz, Wydawnictwa PW).

    Supplementary material

    In the course of the semester you may realize that your math knowledge is pulling you back. This is normal. DSP is a practical math usage, so you need maths. Go back to your math books and notes, and look for knowledge in the web.
    Wikipedia may be too formal, but try it. Then, there is a number of course notes. I appreciated very much Paul DAwson's page when I looked for a simple example of a h(n) which convereges to zero, yet doesn't provide stability.

    Course aims

    In other words -- what I expect you to learn, or what I will check when it comes to grading.

    A student who successfully completes the course will:

    Lecture slides

    (You may always expect hand-made corrections and inserts at the lecture....)
    Old slides below - this marker will be moved with slide update

    Examples of tests

    Use them for study. Learn methods, not solutions.

    Exam tests 2007

    One test. Another test.

    There is no guarantee that the current test be identical ;-). It will be similar (the lecture was similar), but I might also put more focus on different subjects. The only base is the lecture content (live one, not only the published slides ....).

    The main rule: exam covers the whole course content (sampled), including the T1(H1)+T2(H2) area and also the lectures after the H2.

    Exam tests 2009 w/solution discussion

    Exam version A
    Exam version B
    1. In both cases the signal was sampled correctly (fs>2f)
      1. To calculate N0 it was enough to count no. of samples in period (or divide fs over f). Answer was 10(A) or 6(B). For N0 samples in period, θ0 was equal to 2π/N0.
      2. K-size DFT will have K discrete samples over <-π, +π) (we include -π, and exclude +π , but due to periodicity of spectrum it is only a convention)
        for a cosine, only two samples are non-zero: at k such that θk=±θsignal. Form the definition of θk you will see that this is for k=±4 (this is the result of taking K=4N0).
      3. You may label frequency axis with k=-K/2,....-1,0,1,...K/2 or with its periodic equivalent K-K/2,....K-1,0,1,...K/2
        to label with θ just use the expression for θk.
      1. H(z)=Y(z)/X(z) is easily obtainable from the time equation. It was
        -0.2(1+z-1)/(1-0.8z-1) [A]
        0.2(1-z-1)/(1+0.8z-1) [B]
      2. Zeros are roots of numerator: -1 [A] or +1 [B]
        Poles are roots of denominator: +0.8 [A] or -0.8 [B]. They are inside unit circle, so the system is stable (but I didn't ask...)
      3. Example graph: pic - please find a_0, b_0, b_1 by yourselves. If you are smart, you may save one multiplication by 0.2 (this is left as exercise to you).
      4. For x(n)= shifted delta, (a limited energy signal) you may take the impulse response and shift it appropriately. To find h(n) it is easiest to split H(z) into two fractions: (shown for [A], for [B] change some signs)
        and lookup the inv.Z of 1/(1-0.8z-1) in the table. The final result is a sum of two identical exponentials shifted by 1 in time. Then, you shift h(n) to proper position....
      5. For x(n) = 1-(-1)n (a periodic signal) we see a DC component and a periodic component exp(jπn) with frequency of π. We find numerical values of H(0)=(2 or 0) and H(π)= (0 or -2) by substituting exp(0) and exp(π) for z, and finally
    2. The response was symmetrical around its midpoint (n= 2 or 4). Thus, it was a repsonse of a zero-phase filter delayed by 2 or 4.
      1. phase is linear φ=-(2 or 4)θ
        delay is constant and equal to (2 or 4)
      2. The response of filter is a rectangle modulated by exp(jπn). Thus, the characteristics is a sin(θL/2)/sin(θ), shifted to π. You may find the mainlobe width, you may plot exactly zeros of A(θ) etc.
    3. Time resolution is proportional to time duration of window, frequency resolution - to mainlobe width (which is prop. to 1/K ....).
      Rectangular window has narrowest mainlobe possible, but high sidelobes; so it is good for resolving signals close in frequency, but without large difference in amplitudes.
      Any other window will have wider mainlobe (so poorer resolution in f).
      1. There was nonlinearity introcuced by product of two samples (linear is multiplication by a constant only).
        Saying "stable=yes because of BIBO" was not enough; "because FIR" was enough; if you call BIBO, you have to prove it by finding relation between bound of input Bx and output By.
      2. LP filter with passband of π/4 (see the "lecture 17").
      3. Many shorter is better: by averaging we reduce the variance of estimate. (variance is huuuuuge with single FFT)
      4. β (some call it α) controls the shape of window - effectively the sidelobes level (high β - low sidelobes). Is high β better? yes, if you are concerned with sidelobe level; but remember that you pay with wider mainlobe (There Ain't No Such Thing As A Free Lunch)
      5. Inv FT is calculated by summation when the spectrum is discrete ([B], periodic signal) and by integration when the spectrum is continuous ([A], limited energy signal).
      6. 3 buses are for opcode, data1 (signal), data2 (coefficient).
        Any instruction with dual move uses all three, e.g MAC instruction needs 2 data, so it is nice that we can load data in the same cycle in 56002 it can be coded as:
        mac a,b x:(r0+),x0 y:(r4+),y0
      7. Trivial
      8. def: order of n^2, FFT: order of n log2(n)
      9. y(n) length is, maximally, (length of h(n))+(length of x(n))-1. K=M+N-1. Here, we were asked to find M knowing K and N. Answer is, as you may guess, M=K-(N-1)
      10. The clue is in word "maximally". It may happen that for certain signal (e.g in the stopband....) the y(n) is shorter.....

    Exam test 2012/13

    Exam sheet

    T1/T2 test examples

    Please note that the solutions are NOT a model ones to copy and paste. In some cases a "full score" student solution to the test needs a bit of explanations, and in many cases my solution is too large - I wanted to show different possibilities or broaden an example.
    To summarize - don't learn by heart. Learn by brain.

    Try to solve the missing versions of tests.

    Test1 2010/11 ver.A problems
    Test1 2010/11 ver.B problems
    Test1 ver.B solutions
    Test1 ver.A solutions
    Test2 2016L ver A. solved
    Test2 2016L ver B. (do it yourself)
    Test2 (ver.A) and solutions
    Test2 (ver.B) (do it yourself!)
    Also, think first, act later.

    When solving at home, you may use matlab or octave to do calculations like (1-j)/(1+j) (or to verify your calculations). You may also use these tools to show plots. Then try to understand why it is like you see - no Matlab at the exam, please :-).

    Test1 2013/14 ver.A problems

    Test 2 (2013/14) solutions sketch
    Computer plots:

    ver.A, 1b ver.B, 1b ver.A, 2c ver.B, 2c
    Test 1 (2016z) solved

    Lab info: example lab exercises

    The labs will be taught by Lab rules (do's/dont's, grading)


    These are called "examples" to underline the fact that they are not official. Some of them need review....

    Openly speaking, they are exercise sets current at the time of posting. I reserve the right to make some important modifications before the actual lab, to give different sets to different groups etc. (and I usually DO review the text before giving it....).

    Lab exercises:

    Students do not need to print these scripts -- the official lab instructions will be available at the lab.
    Old instructions below - this marker will be moved with updates

    Past things archive (Attic)

    dr inż. Jacek Misiurewicz
    room 454 (GE)
    Office hours: Mon 16:30-17:00 (or by e-mail appointment)
    Institute of Electronic Systems

    Instytut Systemów Elektronicznych
    Institute of Electronic Systems



    This page is "Continuously Expanding".///////////////////////