Group Abstract Group Abstract

Message Boards Message Boards

[WSG22] Daily Study Group: Signals, Systems and Signal Processing

A Wolfram U daily study group on "Signals, Systems and Signal Processing" begins on May 16, 2022.

Join instructors @Leila Fuladi and @Mariusz Jankowski and a cohort of fellow learners to study the concepts, mathematics, principles and techniques of signal processing. We'll cover methods of analysis for both continuous-time and discrete-time signals and systems, sampling and introductory filter design. The concepts and methods of signals and systems play an important role in many areas of science and engineering and many everyday signal processing examples are included. A basic working knowledge of the Wolfram Language is recommended.

REGISTER HERE

enter image description here

122 Replies

Hello to all registering for the daily study group. Looking forward to working with you soon. Let me know if you have questions about the course.

Hi John, my favorite by far is Oppenheim’s Signals and Systems textbook. While there are a couple of other that are good, you can’t go wrong with his version.

Quiz 8 has been released as part of the course framework made available to our Study Group participants. Please check your recording notification email sent today and upcoming reminder emails for your link to the pre-released course framework.

POSTED BY: Jamie Peterson

Hello Hakan, please take a look at the attached notebook and let me know if you have more questions.

Posted 4 years ago

I've attached as file "LaplaceROCProofGDorfman1jun22.nb" a proof that the region of convergence of a double-sided Laplace transform is independent of omega (the imaginary part of s). I would have preferred to copy the single text cell in the attached notebook into inline text here. I can't figure out how to do that without all the symbols being rendered as code, such as omega appearing as \[Omega]. How do I get notebook contents to appear inline here in readable form?

Attachments:
POSTED BY: Gerald Dorfman

Hi Jacek, in general the notebooks may have more examples compared to the presentation. Here is the missing example for L09:

POSTED BY: Leila Fuladi
POSTED BY: Zbigniew Kabala

TO EVERYONE (STUDENTS) Above I place some links. I do recommend checking the MIT free Course on Signal and system Why? it aligns with this study group in the Topics, you can download each Chapter and Video and the professor is Professor Oppenheim. I am sure you can find the entire Book not chapter by Chapter.

To download faster use "Chrome" or IE 11 (not Microsoft edge) so that you use "right click and save the MP4 videos". Any Other course free in the MIT you can download videos and resources. They have over 600 courses free (good for refresh material if you have attended any engineering school).

If you use Microsoft edge, you will not see the download link and will default to ply the Video. Also check this link https://fourierandwavelets.org/ and download the free two Books and the Matematica books with the PDF. They will complement the learning on this study group. The Workbook ZIP/TAR provide is just the syntax under Mathematica along with the exercise. I will attend the Fridays class and sporadic during he week.

https://ocw.mit.edu/courses/res-6-007-signals-and-systems-spring-2011/pages/introduction/ Instructor: Prof. Alan V. Oppenheim
Course Number: RES.6-007 Departments: Supplemental Resources
As Taught In: Spring 2011

Sorry about that! Done.

POSTED BY: Jamie Peterson

In case you missed today's online session, we've released six of the eight course quizzes, for the material covered during the first three weeks of this Study Group. Successful completion of all eight quizzes is required to earn a certificate. Check your recording notification email today for links to the quizzes.

Looking forward to any discussion, but please send any technical questions about the auto-graded quizzes by email to wolfram-u@wolfram.com, so we can address those directly. Also, we ask that everyone refrain from discussing specific quiz questions on this Community forum. Thanks!

POSTED BY: Jamie Peterson

Hello all, I thought some of you may be interested in seeing the details of the convolution example shown in a recent lesson video. Here is a copy with some small edits.

Posted 4 years ago

Thanks Zbigniew for bringing this up.

POSTED BY: Updating Name

Hi Zbigniew, sorry, I am not able to answer that question, but will forward it to the Calculus and Algebra Team at Wolfram for comments.

Zbigniew Kabala: Yeah ... Solutions to Initial Value Problems with jump/step functions as input (non-homogeneous term) are defined in terms of Heaviside Functions in WL & Mathematica. These solutions are not defined at the jump points ... what means that the solution is not continuous at these points. This is NOT CONSISTENT with the requirement that solutions to DEs must be continuous. How do we reconcile the use of Heaviside Function with the fact that SOLUTIONS (functions satisfying the Differential Equation) MUST be differentiable at every point? This kind of trouble would not occur if the solutions were given in terms of the Step Functions instead. I remember questioning something like this in a previous "Daily Study Group" on Differential Equations ... "Week Review" ... the speaker at that time did not seem to get the point or I was not able to make the point clear. It may be a convenience for further dealing with the "Convergence Theorems" when applying "Fourier Series" or "Fourier Transforms". Of course this choice does not seems to me that change any of these mathematical inconsistencies. Thanks for bringing this point back to discussion! Best regards!

Dear Mariusz, Thanks for this careful explanation. I understand completely why the method that Leila and you recommend works. What I don't understand, however, is this:

  • Why HeavisideTheta[0] does not reduce to zero? Why is it left UNDEFINED? And
  • Why HeavisideTheta[t] does not reduce to one for t > 0?

In other words, why Mathematica fails? The two solutions I presented earlier and you just repeated have to be equivalent, as they are the solutions of the SAME problem. Both should result in Exp[ -t ].

POSTED BY: Zbigniew Kabala

POSTED BY: Zbigniew Kabala

If of any help, I checked for eventually different output emerging from different input and, as it is seen below, we get the same result: enter image description here

Dear Zbigniew, one of the two reasons for the solution method I suggested for finding the impulse response is actually exemplified by your calculations. I did not want to explain the presence of the unevaluated Heaviside[0]. Also, most undergrad engineering students enter a course like this with some basic introduction to differential equations which usually does not include a discussion of singularity functions.

I do want the notebooks to address the needs of students with and without familiarity with Mathematica. The step-by-step evaluations are for the latter.

BTW, I get the following results:

In[2]:= Integrate[Sin[x] DiracDelta[x - 2], {x, -\[Infinity] , \[Infinity]}]

Out[2]= Sin[2]

and

In[3]:= Integrate[Sin[x] DiracDelta[x - 2], {x, 0 , 5}]

Out[3]= Sin[2]

Hakan, thanks for catching that. The problem statement should in fact include the unit step as part of the forcing function (as it does in Problem 5). While it is not strictly necessary when solving with Mathematica, I like to explicitly include the unit step to clearly indicate that the onset of the input is at t=0.

POSTED BY: Zbigniew Kabala

I'm a little confused about the solution to Exercise 6 (the last) in L07CTSolutionMethods.

Find the solution of the following nonhomogeneous differential equation with given initial conditions:

y''(t)+Sqrt[2]y'(t)+y(t)=sin(t), 	y'(0)=0, y(0)=0

The forcing function is sin(t) but in the solution the DSolveValue has the equation with "Sin[t] * UnitStep[t]" (i.e. UnitStep[t] is added):

DSolveValue[{y''[t] + Sqrt[2] y'[t] + y[t] == Sin[t] UnitStep[t], 
   y'[0] == 0, y[0] == 0}, y[t], t] // Simplify

Why is the UnitStep function added to the equation here? Are there some underlying assumptions about this question that I've missed?

Posted 4 years ago

I tend to use Matlab in conjunction with Mathematica. Is it worth getting the Signal Processing Toolbox.

I find it useful that you can run python, Julia and Octave scripts in a Mathematica notebook.

POSTED BY: Updating Name

I agreed with you. The Original link from MIT is the query for all Recorded Classes (free) to Download materials and Video as a complement lecture.
(MAIN) https://ocw.mit.edu/search/?q=signal+and+systems From the Author of the great book Prof Oppenheim's recordings (1 ) https://ocw.mit.edu/courses/res-6-007-signals-and-systems-spring-2011/ (2 ) https://ocw.mit.edu/courses/6-341-discrete-time-signal-processing-fall-2005/ (3 ) https://ocw.mit.edu/courses/res-6-008-digital-signal-processing-spring-2011/ Others Professor Dennis (4 ) https://ocw.mit.edu/courses/6-003-signals-and-systems-fall-2011/ Professor Derek (5 ) https://ocw.mit.edu/courses/2-161-signal-processing-continuous-and-discrete-fall-2008/

Now, Every Single Courses in Digital Filters, etc., always introduce to the basic Concepts found in a single book by Professor Oppenheim. Even as a review, we must place the time, but with the MIT VIDEOS recorded and download it, the 1-hour Study Review using the Mathematica Notebooks, I believe they complement. I took several years ago all these courses in Signal and System, and at the graduated level in other DSP courses, we go back to the basic Foundations of "Signal and Systems". What I like from MIT are the lecture notes, exercise and Solutions, in addition to the video recordings. Been the basic foundations, it doesn't matter if they were recorded 10 years ago.

Hi Wilfredo, thanks for the additional links and great suggestions for additional course materials. As I posted earlier, Oppenheim's version is my preferred Signals and Systems reference. There are of course other notable authors in this area - Lathi in particular. Oppenheim's recordings are great but be forewarned, their length, each a typical class session, requires a level of commitment that many nowadays find challenging. However, if you are up to it, absolutely, dive in and learn from one of the premier educators in this area of electrical engineering. I am also a great fan of your other suggestion - the Foundations of Signal Processing by Vetterli and Kovacevic. As the title suggests, it truly is an introduction to the mathematical foundations of signal processing and the most recent attempt to redefine how this topic is taught.

Posted 4 years ago

Hello Mariusz Do you have suggestions for reference materials such as books, online, etc? Thank you, John

POSTED BY: John Bohn
Posted 4 years ago

Hi, I have a few questions about the quiz: Quiz3 Q10 in my framework, I think x[n] should be delta[n]-delta[n-1]+2delta[n-3], then I got the correct answer, otherwise, even the length of convolve won't match...

Quiz4 Q4, the answer differs from the defination in course video, where there should be a factor of 2Pi times the "correct" answer.

Quiz4 Q5, I'm not sure if the answer is based on a different defination of FT, because I won't get the coefficient of sqrt[2/Pi]

And by the way, I pass all the quizzes, but how can I get the cetification doc? like a PDF version?

POSTED BY: Rui Lyu

@Arturo Pazmino, we have double checked Quiz 6, and the correct answers all check out OK. enter image description here

If you are experiencing something in the course that doesn't look right, please report it to us at wolfram-u@wolfram.com. Thank you!

POSTED BY: Jamie Peterson

The missing L31 course video is a known issue that we expect to resolve by next week. I want to remind our Daily Study Group participants that logging watched videos in the course is NOT a requirement for your completion certificate. As a Study Group participant, you need only to pass the course quizzes.

POSTED BY: Jamie Peterson
Posted 4 years ago

Hi, I see there's no video for L31, but the certification requires the watching...

POSTED BY: Rui Lyu

Hi @Arturo Pazmino, We will look into this. Thanks

Hello, to the staff, could you please double check the "correct" answers for Quiz 6. Thanks.

POSTED BY: Arturo Pazmino

Excellent! Thanks, Jamie.

Has Quiz #8 been released yet?

Posted 4 years ago

I have two questions:

(1) In the interface for this community share, next to the "Add Notebook" icon is an icon to add a code sample. When I place my cursor over it, it states "Code Sample < pre> < code> Ctrl+K". Please explain exactly how to use this to enter a readable code sample. When I try it, I get the same thing as when I just copy and paste. (I am using the Google Chrome browser.) For example, I get the following:

Subscript[X, \[Delta]](j \[Omega])=1/(2 \[Pi]) \[ScriptCapitalF]{x(t)}*\[ScriptCapitalF]{Subscript[x, \[Delta]](t)}

(2) In file L30_Sampling.nb, I have two questions about the derivation following the cell that states "The Fourier transform of the signal Subscriptx, [Delta] may now be obtained by making use of the Fourier transform time-multiplication theorem (symbol * denotes convolution):" In the first line of the derivation should the argument of the rightmost Fourier transform be Subscript[Delta], T rather than Subscriptx, [Delta] ? Second, please show the detailed steps used to derive the Fourier transform of Subscript[Delta], T as shown in the second line of the derivation. (I assume linearity is used so that the derivation involves transforming the individual terms in the definition of Subscript[Delta], T.)

POSTED BY: Gerald Dorfman

There are no notebooks in the Exercises and Examples folder for the rest of the lessons, i.e. lessons 30..33.

Posted 4 years ago

The links of all recordings of the study sessions can be found on this page.

The link you're looking for can be found here.

POSTED BY: Dave Middleton

Thanks Mariusz for the notebook. I'm looking forward to the forthcoming lessons when TransferFunctionModel and BodePlot are used again.

Now that this Signals, System and Signal Processing Study Group/Course is soon at the end, I will use the knowledge obtained to go on using the more advanced features of TransferFunctionModel - and similar functions - to learn more about Control Systems.

(I hope there will be a Wolfram U Study Group/Course in Control Systems soon. Is so, sign me up!)

Would someone post the link to today's recording of the lesson Z-Transform and Z-Transform Theorems? I wasn't able to attend and don't see the email for the recording. Sincerely, Jay Morreale

POSTED BY: Jay Morreale

Gerald, did you find a solution to your problem?

FindMaximum seems to work:

FindMaximum[g[t], {t, 2.0}]

{0.503408, {t -> 2.25}}

Note that it give a warning about tolerance.

In both of today's lessons - Lessons 26 and 27, about Z-transforms and inverse Z-transforms - the functionTransferFunctionModel (https://reference.wolfram.com/language/ref/TransferFunctionModel.html) was used to get zeros/poles of a function, but there was no comment or explanation of the function.

It seems to be a very useful and versatile function. It is also used in Lessons 32 and 33, so perhaps it will be explained more in connection to these lessons?

Thanks, Restarting the session did the job.

Mitch Sandlin

POSTED BY: Mitchell Sandlin
Posted 4 years ago

Works fine for me on the Wolfram Cloud

RSolveValue[y[n] - \[Alpha] y[n-1] == 0, y[n], n]
(* \[Alpha]^(-1 + n) C[1] *)

Most likely you have an existing definition for y or \[Alpha]. Try ClearAll["Global`*"] or "Restart Session" from the "Evaluation" menu, or Quit[].

POSTED BY: Rohit Namjoshi

While traveling, I am relying solely on the Wolfram Cloud to perform all required calculations associated with the Signals Daily Study Group.

However, when copying Problem 1 in Lesson 11 (see attached) to the cloud and then trying to execute the solution to the problem using RSolveValue[], I receive an error message which does not allow me to duplicate the calculations that you performed in the lesson notebook (see attached). I am going to need to use the cloud in answering the Quiz problems associated with the Study Group.

If the cloud is incapable of performing the calculations, I may need to wait until returning home in mid July to complete the Quizzes.

Thanks,

Mitch Sandlin

Attachment

Attachment

POSTED BY: Mitchell Sandlin

Could you please release the Vid for June 1st, as it is still not available.

POSTED BY: Anthony Collins
Posted 4 years ago

I'm trying without success to maximize a piecewise function for t > 0. How do I do it? My failed code and output is attached as file ''MaximizePiecewiseFunction_GDorfman_2jun22.nb".

Attachments:
POSTED BY: Gerald Dorfman
Posted 4 years ago

Can we get Fridays recording please (Week 2 Review and Fourier Series)

POSTED BY: Doug Beveridge

HI, I did not get the link for today's class, please let me know if there was any lecture today.

POSTED BY: Arturo Pazmino

Hello Rui and welcome! If you have signed up for the study group you will receive emails with the updated material. If you have registered and have not received the material, please send an email to our Wolfram U team at wolfram-u@wolfram.com.

POSTED BY: Leila Fuladi

Hi, I registered late for this study group and have trouble findin the links to the notebooks materials. Could you please repost those? Many thanks!

Rui

POSTED BY: Rui Alves

Regretfully I need to unsubscribe from the Signal Processing study group. I thought I would have time to participate, but my current schedule will not allow.

POSTED BY: Drew Lesso

Super! Thank you Mariusz.

POSTED BY: Zbigniew Kabala

Same here.

POSTED BY: Zbigniew Kabala

Gerald,

I see you modified your post, and what I wrote is no longer relevant. That is why I deleted it.

Zbigniew

POSTED BY: Zbigniew Kabala
Posted 4 years ago

I copied the following as input text. Without attaching the notebook, how do I copy and post WL input like this to our community group so it is more readable and also easy for readers to copy and execute in a notebook?

GraphicsGrid[Table[
  DiscretePlot[((2/3)^(n/2) Subscript[\[ConstantC], 1] + (-1)^
       n (2/3)^(n/2) Subscript[\[ConstantC], 2]) UnitStep[n], {n, -5, 
    20}, PlotRange -> {-2, 2}, PlotStyle -> PointSize[0.02`], 
   AxesLabel -> {n, y}, ImageSize -> {400, 400}, 
   PlotLabel -> ("\!\(\*SubscriptBox[\(\[ConstantC]\), \(1\)]\) = " <>
       ToString[N[Subscript[\[ConstantC], 1], 2]] <> 
      ", \!\(\*SubscriptBox[\(\[ConstantC]\), \(2\)]\) = " <> 
      ToString[
       N[Subscript[\[ConstantC], 2], 2]])], {Subscript[\[ConstantC], 
   1], {-1, 1/2, 3/2}}, {Subscript[\[ConstantC], 
   2], {-1, 1/3, -3/2}}]]
POSTED BY: Gerald Dorfman

Thanks. The download error I reported earlier is due to my Google Chrome browser. Apparently a "bug", I am not able to download any files from Chrome any more.

POSTED BY: Jacek Gwizdka

Click on "Make your own copy" to open a copy of the notebook in Cloud. Then File> Download. You could also click on a cell bracket here in the notebook, copy the cell and paste it into your own notebook.

POSTED BY: Leila Fuladi

Hi Doug, it is my understanding, that CNNs contain a layer or more in which a discrete-time convolution operation with a finite number of fixed or learned coefficients creates the inputs to the next layer. We will be discussing discrete-time convolution shortly.

You are replying on a totally different topic. I am talking about a link to a "Embedded Notebook" from a reply in this forum. Download does not work for me.

POSTED BY: Jacek Gwizdka

Hi, to download material, please check box both folder and look the Top Right Corner to DOWBLOAD ALL. The file is a ZIP/TAR folder compress with all the folders and exercise.

Thanks! how do I download it to a local .nb file? When I click on download and select "Continue with FIle Download" it downloads something, but it is not an .nb file - for me it looks like ".com.google.Chrome.tU6ZVD"

POSTED BY: Jacek Gwizdka
Posted 4 years ago
POSTED BY: Doug Beveridge

Hi Jacek, yes, the continuous-time part of signals and systems has not changed much or any in the past 30-40 years. In the nineties, discrete-time concepts were added in recognition of the importance of DSP. It has remained in this form since then without I think losing any of its relevance. It still is a necessary gateway to topics in communication, digital signal processing, image processing, control, etc.

Hi Doug, the convolution video is actually an outlier in terms of how much it differs from the lesson notebook. Most videos will stay much closer to the text in the notebooks.

The reason for the difference you observed is the nice explanation of convolution as a superposition of responses to scaled and shifted pulses that was added to the video but is missing in the notebook.

So, here is a notebook that re-creates that part of the video.

Posted 4 years ago
POSTED BY: Doug Beveridge

Thanks @Mariusz Jankowski Thanks for explaining. The current study group content is very much what I was learning in mid-1980s in Poland (Politechnika Lódzka) when I studied electrical engineering and control systems, just without Mathematica :-) . A nice refresher! (I moved later to human factors engineering and psychology).

Do you know of any study group which would focus on multiresolution analysis using wavelets (discrete)?

POSTED BY: Jacek Gwizdka

Hi Leila, I have the files with exercises and lessons. yes, the most up to date ones. But some of them do not contain important parts which you demonstrate. For example today's lessons file L09CTConvolution.nb did not have the first example in which you used Sin functions. In the cases of other lessons the difference was more minor. Thanks - Jacek

POSTED BY: Jacek Gwizdka
POSTED BY: Jacek Gwizdka
POSTED BY: Zbigniew Kabala
POSTED BY: Mitchell Sandlin
POSTED BY: Jacek Gwizdka

Hi Mitch, the answer was Kirchhoff's laws.

Hi;

What was the answer to Poll #1 of Lesson 6. As an aside, it would be helpful if the speaker in speaking, would slow down a little and place a little more emphasis on articulation.

Any update on getting the exercises in a PDF format?

Thanks,

Mitch Sandlin

POSTED BY: Mitchell Sandlin
Posted 4 years ago
POSTED BY: Updating Name

I just noticed that all the exercise notebooks have the solutions, so I guess there is nothing to turn in.

POSTED BY: Arturo Pazmino

Hi, do we need to turn in the "exercises" notebooks or is it only for our own practicing and learning?

POSTED BY: Arturo Pazmino

Hi Wilfredo, I will ask our team to include Poll questions if possible. As for the cell brackets, in the notebook, if you evaluate the following, it will hide the cell brackets for all your notebooks: SetOptions[$FrontEnd, ShowCellBracket -> False]

POSTED BY: Leila Fuladi

Dziękuje!

POSTED BY: Jacek Gwizdka

Jacek, That's correct. There are no exercises for Lesson 1 (Introduction). For today's session, you have L02 exercises.We covered L01 and L02 today.

POSTED BY: Leila Fuladi

Hi Jacek, the exercises start with Lesson 2, we did not create an exercise notebook for the introductory lesson.

OK, thank you. Now I can see the exercise folder populated. It was empty earlier today. But the exercises start with lesson 2. today's is missing

POSTED BY: Jacek Gwizdka

Hi be aware: If we play the recorded Video, The Polls doesn't show at all. So, when the discussion continues, we do not have an idea what were the choices or what were the results.one thing that is my goal is to be able to get something in the Wolfram syntax (the Fun part). I see it is powerful, but I never have use it.

I see the Notebooks Clear in the Video, but when opening the files, there are a bunch of Brackets in the right side that i would like to eliminate. This is like MATLAB scrips.

Thanks

POSTED BY: Leila Fuladi
POSTED BY: Leila Fuladi

@Mitchell Sandlin we should be able to share the PDF versions. We will try to add them to the download folder soon.

POSTED BY: Mitchell Sandlin

The "Exercises and Examples" folder is empty. Is it on purpose? Do we get access to them later? Thank you

POSTED BY: Jacek Gwizdka
Posted 4 years ago
POSTED BY: John Bohn

Hi Drew, If you study the lesson notebooks and go over the exercises in your own time, that should work.

POSTED BY: Leila Fuladi

Hi John, That is correct. For each lesson (except for L01) you will have a set of exercises, shared after the session is completed.

POSTED BY: Leila Fuladi

Leila, I have the same problem that I cannot attend daily, but really would like to audit. So I signed up and will try to attend when possible. Fridays, I am available and usually mondays and wednesdays.

POSTED BY: Drew Lesso
Posted 4 years ago
POSTED BY: John Bohn

Hi Wilfredo, We will have review sessions on Fridays, if you can attend.

POSTED BY: Leila Fuladi
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard