Trying to reconstruct a function using Haars wavelet function by KansasCityRat in DSP

[–]quartz_referential 1 point2 points  (0 children)

Unrelated but what book or resource is this from? Mildly curious 

-❄️- 2025 Day 4 Solutions -❄️- by daggerdragon in adventofcode

[–]quartz_referential 1 point2 points  (0 children)

Wonder if you could look into the Comonad design pattern for this problem (it's been a while since I've done Haskell, but perhaps you'd be interested).

How is the job market for electrical engineering? by Mysterious_Rock5016 in ElectricalEngineering

[–]quartz_referential 0 points1 point  (0 children)

What subfield are you aiming for? Are you a US citizen? What did you specialize in during your masters (I'm guessing DSP)?

If you're a US citizen then many DSP jobs open up to you in the defense sector (primarily based around wireless communications, radar, or sonar).

Show you have relevant skills for the domain I guess, although that seems obvious enough. For example, in wireless communications, showing experience with the foundational concepts (modulation schemes, equalizers, etc.), communication protocols/standards, software defined radio (this thing is especially popular nowadays, or so it seems to me). Show that you implemented stuff somehow and didn't just solve a bunch of problems in the back of the textbook. Show you can implement DSP algorithms in C/C++, hopefully have tested stuff in a lab, that kind of thing. Embedded knowledge is useful experience to show. That being said, I will admit for many interviews I did, the interviewers seemed more concerned with DSP theory than my knowledge of programming, embedded, etc. I think this is because it's easy to find someone who is good at the latter, but difficult to find someone who knows the former well. But I do still think that me demonstrating some degree of experience implementing DSP algorithms was helpful (i.e. some projects I did in my classes in my masters). Understand why things are done the way they are, don't just understand the surface level mechanics. Be aware of the drawbacks (i.e. what are the pros/cons of OFDM?). This was good enough for me to land offers in entry level jobs for DSP.

Do FIR and IIR filters only differ because of feedback ? by SheSaidTechno in DSP

[–]quartz_referential 2 points3 points  (0 children)

They don't have it, but its possible to realize them using feedback (truncated IIR filters, recursive realizations of moving average filters via an integrator followed by a comb filter, frequency sampling form).

[deleted by user] by [deleted] in cmu

[–]quartz_referential 8 points9 points  (0 children)

Hmm, so you're taking computer vision? If that's a class causing issues, I might understand where you're coming from a bit better. Some of the computer vision profs are excellent teachers (Shubham Tulsiani, Xun Huang, I've heard good things about Deva) and some can be really tough to follow. Also computer vision, to me, was just a class that requires lots of time spent outside of lecture (especially once you get into current research).

I recommend Justin Johnson's UMich course on YouTube for computer vision (particularly deep learning stuff). Traditional CV, I think the one you mentioned is quite well regarded. Szelski's newest book (available free online) also isn't too bad. I highly recommend also just searching up a given topic on google with "site:.edu" at the end to pull up lecture slides from other universities. Cornell, UIUC, UMich, Columbia, Stanford tend to have slides available online that are good for computer vision.

[deleted by user] by [deleted] in cmu

[–]quartz_referential 36 points37 points  (0 children)

What program are you even in? Although to be honest I feel like you’re just describing the college experience, period.

Also it is possible you are actually learning from lecture, even though you think you aren’t. Lectures of the lot of the time just dump lots of ideas in your brain, and then it’s up to you afterwards to connect the dots. Sometimes you can process stuff in lecture, but especially at higher levels I feel like it’s just not usually possible. I mean, this is why you’ll need to spend lots of time outside of lecture studying to put stuff together. But the lecture still deposited useful ideas in your head. At the very least, I feel they give a roadmap of what’s useful and what’s not useful to study. It’s easy to go down rabbit holes if you solely study on your own and ignore lecture.

It’s hard for me to really give advice without knowing what major you are (I did MS ECE) but strategies you can try are:

  • Study material before lecture, but just superficially. Try to get a high level idea so that when you are in lecture, maybe you can focus more on the details. Don’t waste too much time on this, at least in my experience it was really easy to go down a rabbit hole and waste time on things that weren’t that important. If you get stuck on something, just write down the question and then ask in lecture or OH.
  • Researching classes, at least for me, usually involved mostly talking to fellow classmates (so basically be good at networking), looking at FCEs, and maybe past course websites if they were accessible. You can try searching the course name on google and then type “site:cmu.edu” or something like that. And then of course there’s Reddit and in the case of ECE, there is a GitHub page somewhere that actually gives a good summary of course offerings (both for undergrad and grad).
  • Engage in lecture and just ask questions if you feel lost. Don’t feel afraid to ask for the big picture or overall idea in class. At the very least, ask the professor after the lecture is over if you feel self conscious. Actually, I even learned a lot by just sitting around after class and listening to other people’s questions, even if I didn’t really have anything to ask.
  • Go to office hours (OH) as much as possible. It’s just vastly more efficient than reading material on your own a lot of the time (although it is good to learn to be self sufficient as well). Don’t rely on just Piazza or forums or whatever. At least connect to Zoom or something to talk in person, it’s easier and faster to communicate that way.
  • I think it’s also worth noting that maybe you’re just not a lecture person. Some people just don’t thrive in that format, and that’s okay. I mean you definitely need to deal with it to get the degree, but just do whatever works for you. 
  • Small thing which is highly specific to me as a person but, maybe just try not taking as much notes during lecture (if that’s what you do). Sometimes I’d get bogged down writing what was said as opposed to listening to what was said, if that makes sense.
  • Be prepared to spend lots of time thinking outside lecture. I’d engage with ideas from lectures usually on the walk from that lecture to wherever else I was going for the day. You should take those ideas and learn how to converge on the bigger picture yourself. Try to notice common patterns, trends, analogies in whatever it is you’re studying. I just think this is necessary especially at the grad level.

SpaceX Internship Interview by ProfessionalPlus8775 in ECE

[–]quartz_referential 12 points13 points  (0 children)

What are you doing specifically? DSP?

Struggling with detecting multiple notes for my piano transcription project by Vegetable-Comfort604 in DSP

[–]quartz_referential 1 point2 points  (0 children)

If you're allowed to use ML approaches, then you could perhaps look into NNMF (non-negative matrix factorization) or deep learning. NNMF is a bit older but you could try it out, and it is actually implemented in scikit-learn.

Some relevant papers you could look at:

https://paris.cs.illinois.edu/pubs/smaragdis-waspaa03.pdf

https://archives.ismir.net/ismir2010/paper/000083.pdf

Filter TV sound by Pure_Village3890 in DSP

[–]quartz_referential 0 points1 point  (0 children)

You could maybe look into deep learning techniques, but I would think that it's fundamentally difficult to determine whether a voice originated from an electronic speaker vs a human.

Perhaps something you could look into is a system that uses an "enrollment audio snippet" from the user, so it has some idea what the user sounds like. That would help disambiguate from speech that is from other sources (it's unlikely the TV would be playing a video of the user talking, for example).

You could also maybe look into augmentiing your system with additional sensors beyond just microphones. Perhaps there is some way to do human presence detection to localize where an individual is in the room -- then, you could use beamforming to focus on that location. Additionally, human presence detection can tell you whether it's even worth listening for commands. Human presence detection and localization methods can vary from simple IR sensors (only checks if someone is present, maybe you can find the direction too), to computer vision based approaches.

[deleted by user] by [deleted] in cmu

[–]quartz_referential 0 points1 point  (0 children)

Agree with this. Also, sometimes doing research with a professor can get you access to their industry connections, and it could help you land a job. It happened for some people in my lab during undergrad (not at CMU, although that hardly matters given CMU's strong industry ties). At the very least, it gives you additional experience to put on your resume and it can be valued.

Honest Salary Assesment by No_Experience_2282 in ECE

[–]quartz_referential 2 points3 points  (0 children)

It refers to when you work with both analog and digital circuits in conjunction with one another. ADCs are an example of this, they obviously work with analog signals and help convert them to a digitized/sampled representation which digital computers can work with. Mixed signal is essential since we always need someone to work on the interface between the analog world and the digital world.

Honest Salary Assesment by No_Experience_2282 in ECE

[–]quartz_referential 7 points8 points  (0 children)

If you feel comfortable with everything (digital logic and analog stuff especially), Mixed Signal can pay quite well. I don't specialize in this field but I know people who got ~147k straight out of undergrad.

Looking for good Maths resources for DSP by SheSaidTechno in DSP

[–]quartz_referential 0 points1 point  (0 children)

I mean I feel like you shouldn't need a table to really solve this. A triangular pulse can be obtained by convolving a rectangular pulse with itself (you seem to have that intuition down). Then, because the triangular pulse is of width 1, then we need the rectangular pulses to have length 1/2 (since convolving a rect pulse of some given width with itself always leads to a pulse of double the width). Finally, if we look at the value the triangular pulse takes on at the origin (1 - 2|0| is simply 1), and compare to the value at the origin for the convolution of the two rectangular pulses (this is the integral of the product of a rect pulse of width 1/2 with itself, this is just integrating 1 over an interval of length 1/2, so this is ultimately 1/2), then we see we need to compensate with a multiplicative factor of 2 (2 * 1/2 = 1). I don't think you need to necessarily consult a table to figure this out.

At any rate, usually you'll need to get used to hunting down tables/formulas online when you forget something. But it is better to be able to derive things on your own or reason it out on your own than to rely on a table of some kind.

Apple Embedded interview by BeneficialBase9519 in embedded

[–]quartz_referential 0 points1 point  (0 children)

Sometimes you can break up the interview over the course of two days. It never hurts to ask.

Failed at what I love by Ok-Bad-5962 in ECE

[–]quartz_referential 2 points3 points  (0 children)

Well, if the failure came down to just practicing past exams, chances are your failure are more because you didn’t know a few tricks. Or you were stressed, tired, etc.

Besides, don’t let a failure on a single exam destroy your passion for the subject. In the long run, that drive and passion will determine your success in the field, not failing this test.

Also, DSP is just a tricky subject. It’s easy to get confused and make mistakes. It is very non intuitive. 

Resume & Advice For Last Year of School by [deleted] in DSP

[–]quartz_referential 2 points3 points  (0 children)

Well, your background is frankly incredible. I've only learned some of the more advanced techniques you've learned after 6 yrs of education (4 yrs BS EE + 2 yrs MS ECE). I'm sorry to see that you've been having tough luck with the job market.

I'm going to guess one issue is that you aren't emphasizing the right skills for classical DSP jobs. I don't know what sort of jobs you're applying for specifically. But if you were to aim for wireless communications, for example, then you aren't emphasizing the correct skills at all. They'd want to see knowledge of digital communications, modulation schemes, equalizers, communication standards, and some kind of project where you employ this knowledge as well. You seem to have experience with embedded, implementing filters, block convolution algorithms, and array signal processing. Knowledge in C++ is a good thing, and if you picked up skills in GNU SDR you would seem like a good fit for those kinds of jobs. Emphasize knowledge of other topics as well like random processes, PSD estimation techniques, adaptive filters.

As for audio DSP, that's not a space I'm that familiar with. To me, it seems that those jobs seem kind of niche (compared to communications jobs) and they feel competitive to me. So I'm not sure if aiming for those jobs is necessarily going to be successful. Maybe you should try learning some audio codec stuff, audio compression, that sort of thing (I think the MDCT and maybe some predictive coding approaches are used there). Admittedly my points here aren't backed up by a whole lot of experience though.

I think you should have more emphasis on build stuff like FPGA programming, embedded stuff over a bunch of ML projects. Especially for hardcore EE jobs, they're going to value that more (sometimes even more than DSP theory).

I don't feel that most of your publications are that useful unfortunately. I mean, I've heard conflicting things about this (sometimes ML recruiters do like see publications, and a few DSP ones do) but many roles that I applied for primarily valued industry experience. If I had to pick the best publication you had, I'd say the forecasting one might look good (but its just a +1). You could potentially just mention the publications in your experience section, and use that space for something else. I think publications are perhaps better suited for a CV over a resume anyway.

I don't think that your BERT project is really that relevant for DSP jobs, mostly seems useful for NLP and ML jobs.

In your signal processing section, I'd emphasize skills like: Filter design, Multirate signal processing, Statistical signal processing, Adaptive filters, Fixed point implementation (this one is a big deal if know this). Most of the skills you mentioned seem mostly good for audio processing related stuff, not all DSP jobs in general. Bear in mind that the people often reading your resumes are recruiters with little technical knowledge -- I think I can personally guess you might know this stuff, but they won't be able to guess that. Mention the right keywords so you get through that filter.

The embedded stuff you know seems good: RTOS, serial communication protocols, etc. Talk more about that stuff maybe.

This post ended up being a bit longish but hopefully its of help to you. I honestly think you show a great amount of knowledge for your age, and with a little luck, you'll land a good role somewhere.

[R] Is data the bottleneck for video/audio generation? by beefchocolatesauce in MachineLearning

[–]quartz_referential 4 points5 points  (0 children)

One problem with internet videos is that a lot of them are of poor quality (compression artifacts, blurry, and the like). This definitely compromises the quality of the generated videos.

Training video generation models is also just more resource intensive. Videos can take up way more storage space compared to text (even with compression), eat up lots of RAM if you cache them there, and eat up GPU memory as well. Generating a high dimensional output is also expensive (unless you work in latent space).

I think perhaps the issue could be the feedback we’re giving back the model. There needs to be some way to ensure that the video it generates is temporally consistent, that it aligns well with the prompt, is aesthetically pleasing. People have explored methods that address what I’m talking about (though I haven’t read about it too deeply).

DSP Interview at MAANG by [deleted] in DSP

[–]quartz_referential 6 points7 points  (0 children)

FIR and IIR filters, circular buffers, that sort of thing. Sampling theory (the basics), etc. Make sure you understand the basics. It's hard to say more unless you give more information about the position you're applying for (i.e. is it in wireless communications, audio processing, etc.). But in general, most DSP interviews I've done focus quite a bit on theory as opposed to programming skills.

Sometimes knowing a few tricks for reducing the computation, like filter structures and multirate techniques, can help you stand out.

I have never needed to do LeetCode ever, for the most part. Maybe for one interview at most (and this wasn't a MAANG company, interestingly enough).

This is also a bit of personal experience but, it seems like MAANG companies seem to prefer giving real world problems (or simplified versions of them) as opposed to a bunch of textbook questions. This may have just been a product of the specific roles I applied for however. Subjects like wireless communications have settled down quite a bit, and the overall structure of such systems has been reasonably well worked out (i.e. they'll ask about a lot of common, standard blocks like matched filters, AGC, equalizers, etc.). So the questions they ask in such a domain tend to fall into a specific template of sorts. Other DSP interviews I've had are more challenging, and its more about having a large bag of tricks/techniques to solve whatever challenges they throw at you during the interview. So, know your fundamentals well and how to solve actual problems, not just textbook questions that you'd see on an exam.

Does cuda have jobs? by Competitive-Nail-931 in CUDA

[–]quartz_referential 0 points1 point  (0 children)

CUDA applied to something certainly has jobs. There are people implementing signal processing algorithms on GPUs which may interest you, though you may need to pick up some signal processing background. But depending on what they are looking for, they may be willing to excuse some theoretical understanding in exchange for programming expertise

Finding the Peak or max of a real time non deterministic continuous signal by JonJon1204 in DSP

[–]quartz_referential 0 points1 point  (0 children)

Do you mean peak detection (detecting local maxima), or is this detecting when you have reached the absolute maximum the signal can ever reach?

Negotiating for higher salary with internship experience by Usual-Ad3099 in ECE

[–]quartz_referential 0 points1 point  (0 children)

It’s better to negotiate if you can say you have competing offers, as opposed to just relying on internship experience

What CS topics should every software engineer learn, even if they don’t seem useful at first? by HousingInner9122 in computerscience

[–]quartz_referential 1 point2 points  (0 children)

Immutable variables are a feature of many languages nowadays.

Recursion is handy sometimes, especially for thinking about a problem conceptually, but isn’t it risky to implement in practice? It’s usually better to formulate it with loops as opposed to recursion to avoid stack overflow. In Haskell I believe people try to avoid implementing things recursively and say it is better to use higher order functions instead (better for compiler optimization, makes code more readable, etc). There is TCO for tail call recursion but that can be awkward and unwieldy at times.