Updated on: Thu Jan 21 08:21:32 CET 2016

Shortcuts

  • What will all this be about?
  • slides
  • A schedule of lectures/homeworks/tests and labs (in a neat table)
  • list of lab groups and scores ("studia" server)
  • info on labs, example lab exercises and entry tests
  • test examples with hints for study
  •  

    Current issues

    • Please verify dates for labs in the new year. I removed some inconsistency between "official calendar" N/P and the printable schedule.
    • I made two mistakes with numerical values and calculations at the 08 Oct lecture. These numbers are now correctly presented in current version of slides. Each n-th syudent who finds these errors can get 0.9^n extra points, where n=0,1,..,infinity, and the answers should be sent to me by email. Hint: you will not find errors if you did not listen to the lecture -- you have to look into your notes or in your memory and compare it with new slides.
    • Lecture start: 08 Oct (Thu), 08:15-10:00, room 121
    • Lab starts with a introductory meeting on 19th Oct (Mon) 9:15, room 022 (basement),
      regular labs will be on Mondays, 8:15-12:00 or Thursdays 14:15-18:00(in alternating weeks, starting from 26th Oct - see the schedule!!)
    • The A3 group is moved to 14:15-18 (still on Thu).
    • Lab group chooser is started: 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, "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.
      • As the "F" seem to be very bad for majority of students, I introduced some alternative subgroups (A1:, A2,...). I will consider running them instead of "F" only if significant number of students grade them well.
      • If you cannot access the chooser(e.g. you will not obtain your password before 13.10.2015) 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-Fridays 9-13] [A1-Fidays 16-20] [A2-Wednesdays 12-16] [A3-Thursdays 12-16].
     

    Home page of EDISP
    (English) DIgital Signal Processing course
    semester 2015z (winter of 2015/16 acad. year)

    Schedule

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

    There are lab exercises, 4 hours every second week, room 022 (basement).


    Labs will be are on Mondays, 8-12 (N and P weeks) or Thursdays 14-18 (alternating weeks) , in subgroups of not more than 12 students.

    Registering for lab subgroups is required via the chooser system (now it is already closed).
    For the introductory lab (lab0) we ALL meet on Mon, 19th Oct , 9:15 in room 022.
    Next lab (lab1) will be

    Note that A printable schedule is here

    Books

    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)
        0.2(1/(1-0.8z-1)+z-1/(1-0.8z-1))
        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
        y(n)=H(0)-H(π)·(-1)n
    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 "causal=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 and output.
      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.....

    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 (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

    Lab info: example lab exercises

    The labs will be taught by

    Disclaimer:

    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 447 (GE)
    Office hours: Tue 16:30-17:00 (or by e-mail appointment)
    Institute of Electronic Systems

    email:jmisiure@elka.pw.edu.pl

     
     
     
     
     



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