How much embedded programming in control/signal processing?

AI Thread Summary
Embedded software and programming are integral to control and signal processing in electrical engineering (EE). Control projects typically involve embedded programming, while signal processing can offer more opportunities for analog design. Embedded programming often includes implementing control algorithms and writing device drivers, with a strong emphasis on using languages like C or C++ and low-level real-time operating systems (RTOS). Knowledge of RTOS concepts is beneficial, particularly for managing tasks with different priorities to ensure proper system performance. While some projects may require low-level device driver coding, many engineers focus on higher-level programming. The discussion highlights that while embedded systems can seem daunting, they are a common aspect of EE, and understanding their role can help in selecting a concentration within the field.
walk_w/o_aim
Messages
27
Reaction score
0
Hey there,

(I apologize if this is in the wrong section - please move it if it is)

I'm an EE undergrad, and I'm wondering how much embedded software/programming is involved in fields like control and signal processing. To be a bit more specific, by "embedded software," I'm referring to things such as programming microcontrollers/FPGAs, dealing with embedded/real-time OS, and writing device drivers.

I realize that embedded systems are so prevalent that it may be impossible to go into any area of EE without encountering them in some fashion, but I'd like to avoid dealing with them too frequently if at all possible. I can't really decide which among control, signal processing and analog electronics I find more interesting, while embedded systems has always scared me. Anyway, that's just an aside.

Thanks!
 
Physics news on Phys.org
I do control and signal processing design work (mainly embedded programming!) so here is my experience on the subject:

I doubt you will find any control projects that don't use embedded programming in some form.

Signal processing is more hybrid as most designs will have analog and digital portions (with some being strictly analog). There is definatley more room to do analog design work in this field.
 
Hey Floid,

Thanks for replying. If you don't mind me asking a few other questions, what sort of embedded programming do you mostly do in your control projects? For instance, is the work mostly implementing control algorithms, or is it more along the lines of writing device drivers? How important, for example, is a knowledge of (RT)OS concepts and kernels?

Thanks again!
 
Usually I don't have to do the real low level device driver code, but I have had to do that before as well so that isn't a given.

Generally the controls projects are written in C or C++ and use some type of low level RTOS. The last one I did used Analog Devices DSPs and they have their own RTOS that is free called Visual DSP++ Kernel.

The code that was involved in that project:

Digital filters
A PID controller
Network interfaces (pretty basic, nothing fancy)
Self test code
System test code (monotored system dynamics to make sure there wasn't a problem)


For the coding: The controller itself is easy to write (as are the digital filters). Tuning those to work together to get the best results is the harder part.

Don't be scared by RTOSes, threads, etc. For a system like the one above the filters and PID controller need threads of different priorities to make sure everything gets run periodically and at the correct rates. Sometimes that takes some juggling, head scratching, and optimization... but that is part of engineering.


I have never actually done an entire control design in an FPGA though it is definitely possible (especially the ones with embedded processors). Usually my FPGA work has been as part of a CCA design where the FPGA does hardware interface support (like if you were designing a PCI card that had a bunch of A/D converters on it the FPGA would implement the PCI bridge and control all the A/D converters).
 
Hey,

Thanks for the info, Floid. That was very helpful. Embedded stuff still scares me, but at least I'll be able to make an informed decision in picking my concentration. Thanks! :)
 
After a year of thought, I decided to adjust my ratio for applying the US/EU(+UK) schools. I mostly focused on the US schools before, but things are getting complex and I found out that Europe is also a good place to study. I found some institutes that have professors with similar interests. But gaining the information is much harder than US schools (like you have to contact professors in advance etc). For your information, I have B.S. in engineering (low GPA: 3.2/4.0) in Asia - one SCI...
I graduated with a BSc in Physics in 2020. Since there were limited opportunities in my country (mostly teaching), I decided to improve my programming skills and began working in IT, first as a software engineer and later as a quality assurance engineer, where I’ve now spent about 3 years. While this career path has provided financial stability, I’ve realized that my excitement and passion aren’t really there, unlike what I felt when studying or doing research in physics. Working in IT...
Hello, I’m an undergraduate student pursuing degrees in both computer science and physics. I was wondering if anyone here has graduated with these degrees and applied to a physics graduate program. I’m curious about how graduate programs evaluated your applications. In addition, if I’m interested in doing research in quantum fields related to materials or computational physics, what kinds of undergraduate research experiences would be most valuable?
Back
Top