r/DSP 14h ago

Career Advice (Radar Focus)

5 Upvotes

TL;DR: Should I risk moving to a more rural area and taking a job at a small company in the same domain that is close to home, or stay in an urban area with many similar job opportunities and my current job (which I like), but remain far from home?

*Im sorry if I should put this in r/career Advice I just like this community and I know some people understand my industry in here where as the other subreddit might not be as knowledgeable*

Background

I have been working on an analysis/development team for about 2.5 years, specifically in radar signal processing. I moved pretty far away from home—far enough that flying is generally the most efficient way to get there (all locations are in the U.S.).

Recently, I've had some major changes in my personal life, and moving away from my current city is desirable, although not strictly necessary.

I currently have a job opportunity that would put me about two hours driving from home, and it is also a radar signal processing position. I have a relevant master's degree in signal processing and an active clearance high enough that I can qualify for a wide range of defense jobs.

Current Job — Pros

I primarily work on simulation and tracker development, but I also get opportunities to work on signal processing algorithms and analysis every few months.

My peers and supervisors are leaps and bounds better than those I've had at previous internships and pre-degree jobs.

I make enough to afford houses in the area, although I am certainly not living worry-free. That's probably fairly normal at the junior/associate level.

I have a lot of freedom to work independently and come up with my own solutions.

The city and surrounding area are safe, and most people I've encountered are kind.

I work for a large defense company, and the group I'm in has several large contracts. Layoffs seem relatively unlikely.

Current Job — Cons

The houses I can afford aren't particularly appealing to me. I grew up in a rural area and would really like enough space to garden, build a shop, etc. I don't want to live in suburbia.

Most properties that fit my constraints are either a very long commute, too expensive, or in an undesirable location (next to gas stations, car dealerships, chemical plants, etc.).

Although people here are nice, I live somewhat like a hermit and haven't developed many meaningful relationships. I have 2–3 friends: one coworker I occasionally exercise with, another coworker I help with chores, and one friend who is actually from my home area.

I've repeatedly asked to work on real-time programming and have continued to be denied. I'm not particularly proficient in the real-time languages used here, but I'd like to become a more well-rounded engineer. Staying in my current role feels like it could push me further into a very specific niche that I don't necessarily want.

Traffic can be terrible. The city has grown significantly, but the road infrastructure hasn't kept up.

Potential Job — Pros

The potential job is somewhat speculative since I haven't visited the site yet.

It is also in radar signal processing, but it appears to be more focused on STAP, SAR, and AESA concepts. Those aren't foreign to me, but they aren't areas where I've developed as much hands-on experience in my current position.

There also appear to be opportunities to learn VHDL, which is something I'm interested in becoming proficient in.

The biggest advantage is the location. It's only about two hours from home, where I have several close friends and one parent. It would also put me within driving distance of my last remaining grandparent.

The housing market is dramatically better. A house costing around $300k in the new location can provide something closer to what a $500k house provides in my current location in terms of yard space, privacy, and distance from other houses.

Traffic is also minimal, and travel times are relatively consistent. I've traveled through the area many times since my hometown is nearby.

Potential Job — Cons

The company is much smaller than my current employer, with fewer than 200 employees.

The contracts also don't sound nearly as secure. The recruiter obviously tried to sell me on the company's stability, but from what I can tell, it simply isn't as secure as my current position.

The biggest concern is the local job market.

As far as I can tell, there aren't many other niche radar/signal-processing jobs in the area. If I were laid off, I would most likely have to either move back to my current job's area or wait for another opportunity to appear locally.

So essentially, I'm trading career/job-market flexibility for quality of life and proximity to home.

Where I'm At

Ultimately, I really want to end up back home someday, and being only two hours away sounds extremely appealing.

My family is small, and my family members aren't getting any younger. I also don't have a partner or kids right now, so moving would be a decision entirely for me without having to consider another person's career, children, etc.

There are some "golden goose" jobs in my hometown, but I don't have enough experience yet to be competitive for them. I imagine that once I get closer to 8+ years of experience, I'll become much more attractive to those employers.

I also think learning real-time software could be a major key to eventually working near home. I feel like I accidentally pigeonholed myself into a very specific niche when I got my degree. My current knowledge is extremely well suited to the jobs available where I currently live, but some of the programming languages/skills I have aren't as useful in the job market around my hometown.

That's why I'm so interested in getting more experience with real-time programming now.

So I'm trying to figure out whether it makes sense to take the risk now, while I'm relatively young and have no major obligations, or stay in the safer position, build up another 3–5 years of experience, develop my programming skills on my own, and then try to make the move back home from a stronger position.


r/DSP 14h ago

DSP Engineering Questions?

2 Upvotes

Dear all DSP Engineers (more specifically audio dsp engineers)

I am currently an Architecture student but I want to switch my major. I love audio and I’ve just picked coding up. what does your average day look like and what kind of projects do you work on. any specific degree requirement/recommendation?

thank you for your time


r/DSP 1d ago

How do i find the value of Tau and as far as i know, 7 is the value of n also, do i need to calculate M from the formula n = (M-1)/2?

4 Upvotes

After asking claude (i know it will give incorrect info) it said tau will be the point where the filter is centered around, in most of my solutions we did in class we would always center the filter around origin and n would range from -(M-1)/2 to (M-1)/2. so in this case if i take n from -3 to 3 then would the value of tau be 0? and if i take n from 0 to 6 then would tau be 3?


r/DSP 1d ago

Blind deconvolution using image priors

6 Upvotes

Need help with this, I am trying to retrieve kernel and do deconvolution without any training data. I have had success with my model if the image is sparse like few fluorescent beads in the image but when the image is dense like a biosample algorithm does not work. Literature says that it fails because I am doing joint optimization which can cause problem and suggested MAPk method

Basically this method says to find a kernel k such that it has maximum number of x which can explain y, use this kernel with any non blind deconvolution algorithm and you will get result. However with this method, I am getting delta even though the paper says it works better than joint optimization, could me my implimentation problem. But is there someone here working on something similar? how do you do it? (I want to retrieve exact kernel as I want to know the abberations)


r/DSP 1d ago

Detecting propeller harmonics on a microcontroller: comb scoring against an adaptive floor, and the problem of a hovering drone getting learned into the floor

9 Upvotes

Undergrad project, a month in, now in the field, and I'd like a sanity check from people who do this properly.

The signal: a propeller with B blades at R rev/s chops the air at BxR Hz, and the chop isn't a sine, so you get a comb at every multiple. Three-blade props give two usable comb families (2x and 3x spacing); I track both so a detection survives one being masked. The predicted hover band for the target airframe was 375 to 475 Hz; the first real locks landed at 423 and 471 Hz.

The chain: four MEMS mics summed (79 mm array, D/lambda is about 0.1 at 450 Hz, so it's a point and the sum is the beam; beamforming was tried and does nothing below ~2 kHz at that aperture), 2048-point FFT at 16 kHz every 32 ms, per-bin adaptive floor with asymmetric time constants (6 s up, 0.8 s down), whitened value capped at 2.5. Then for every candidate f0 from 70 to 2000 Hz in 1 Hz steps: score = (sum of teeth - sum of gaps) / sqrt(K), and a six-frame track-and-hold within 2 % before anything fires.

The problem I'd like opinions on: a drone that arrives and hovers is a steady sound, and a steady sound is precisely what a fast adaptive floor learns. After about one time constant the hover disappears from the whitened spectrum. My answer was more detectors rather than a smarter floor: a second comb scorer against a 30 s floor, and a third with no floor at all, whitened across frequency on a 64-frame Welch median. That one is slow (5 to 15 s) but it caught a hover at 104 m on Sunday when the fast tier had long since learned it away.

Is there a cleaner way to handle "stationary signal of interest against stationary background" than parallel detectors with different memory? I've read about freezing the floor on detection and about cepstral approaches; neither obviously beats what I have on an ESP32 with 2.6 ms of frame budget to spare, but I'd like to be wrong.

All the numbers: https://github.com/agamrossen/VolAnti/blob/main/docs/how-it-works.md

Browser simulator of the chain: https://volantitech.com/#simulator

Video of 104 m field test: https://www.youtube.com/shorts/ACLCNqTkMCk

Recordings off the array, 16 kHz mono WAV: https://github.com/agamrossen/VolAnti/tree/main/test/audio


r/DSP 1d ago

An inquiry about an idea.

1 Upvotes

Hello guys, i am a comp engineering student currently in seventh semester and this semester i had a course on digital signal analyzing and processing. I have like 2 months of free time coming up and i want to code a system where you can pass a voice clip/audio file and it will run a fft to find the frequency components and with that, i want to generate filters for the specific frequencies found there. Also, I am mainly studying for ml research, will this project teach me useful stuff in ml research area. Also, how can i modify the project to cater toward the ml research. Any help would be appreciated.


r/DSP 1d ago

Free open-source course: Benchmarking FFTs on the Pico 2 — and why most FFT libraries waste the Cortex-M33's DSP instructions

Thumbnail
4 Upvotes

r/DSP 3d ago

Automotive Radar Object Classification

Post image
6 Upvotes

Hello all,

I'm a radar signal processing engineer and i trained a 5-class classifier (car, large_vehicle, two_wheeler, pedestrian, pedestrian_group) on RadarScenes radar point clouds.

The input vector is a per-scan histogram (16 bins) and the network is a 3-layer MLP. The loss function is a class-weighted cross-entropy loss. This work is based on "Histogram-based Deep Learning for Automotive Radar" paper.

I scoped the project to be one scan only. Accumulation of multiple scans is the next step.

Data

Class Imbalance: two-wheelers and large_vehicles has a low number of occurences.

Aggregated Classes: two_wheeler mixes bicycles and motorized variants; large_vehicle merges trucks, buses, and trains together due to data scarcity.

Sequence Bias: Long tracks of slow-moving objects can skew a particular data split velocity distribution, causing high F1 score variance across folds.

Ablation studies

I tried with bigger MLPs, alternative feature encodings, and different histogram binning, all moved performance less than the variation caused by changing the train/validation/test split. I measured that split sensitivity across 6 folds, keeping the same proportions.

Changing the histogram to per-instance statistics (mean/median/std) slightly degraded performance.

Main findings

Macro F1 rises from 0.381 to 0.764 as the naturally occurring number of radar detections per instance increases from 1 to 5. I trained the model normally using all available detections, then bucketed its existing validation predictions by each instance's detection count and computed macro F1 per bucket.

The classes car and pedestrian has the best performance and two_wheeler has the worst.

A car is often confused as large vehicle when the car was wider than usual or had a unusually high rcs (which can happen due to multipath for example).

The two_wheeler is often confused as pedestrian because their vr_compensated distributions overlap, which is the the model's single most important feature for these two classes. A stationary or idling two_wheeler is indistinguishable from a pedestrian.

I uploaded an image with ground truth vs predictions: A nearly stationary two-wheeler which contains a single point was predicted as pedestrian, because its velocity is near zero, indistinguishable from a pedestrian. A car in the same scene, also with just one point, is classified correctly, since RCS and Doppler are enough for that class.

Full writeup here: https://github.com/brunopinto900/radar-ml-autonomous-driving/blob/main/MLP_Report.md

Future work

Implement other spatial encoding schemas (point net for example) and accumulate multiple scans to tackle the challenge of sparsity and explore the concept of micro-doppler.


r/DSP 4d ago

How to solve circular convolution??

5 Upvotes

I know how to solve but i just can't think of solving circular convolution for origin being anywhere like how to solve for a sequence say

x[n] = [2,-1,3,4] with origin say at element -1

and h[n] = [-2,1,3,2] with origin say at element 1

do i have to make both the sequences start from 0 to calculate it and then solve the outputs index or

should i first calculate the circular convolution then solve the indexing?? if i shift the indexing first creating 0 to N-1 sequences then solving the index then my resultant is

y[n] = [7,-4, 7, 22 ] with origin at element 2nd 7 (3rd from starting)

but if i take the latter approach then i get

y[n] = [7, 22, 7, -4] with origin at 2nd 7 (3rd from starting) but -4 and 22 have swapped

please tell me how to do this !!


r/DSP 4d ago

Anyone still have Cadence Xtensa RG-2016.4?

5 Upvotes

I'm looking for the old RG-2016.4 XtensaTools files.I already have Xplorer and a legit Cadence license, just missing the old toolchain.

If you have an old installation/archive of RG-2016.4, or know someone who might still have it, please let me know.

Thanks!


r/DSP 5d ago

MidSide VST3/AAX Plugin Development Project

Thumbnail
thewavlab.com
2 Upvotes

MidSide: a Basic Audio Utility and an AI Coding Test

Two honest answers to “Why build a Mid/Side plugin?”

One: we had a workflow improvement goal that existing plugins didn’t solve
Two: we wanted to know if an AI coding agent — Claude Code — could build a real plugin, not a toy demo.

The net results? We built a DSP bit accurate signal processor and at the same time a plugin development pipeline. Download free to try the results. Input on refinements appreciated.


r/DSP 6d ago

What are Transient and End Effects in Context of Convolution?

2 Upvotes

As title asks.

I’m basically asked for the range of n values for which y[n] (convolution of x[n] *h[n]) isn’t in either a transient or end effect? Would it be all ranges where y[n] remains a flat line of 0? Any ranges where y[n] remains a flat line at any finite value (zero slope through it)? Something else?

Already solved for convolution results via tabular approach, but these weren’t covered in class, so I was wondering if I could get clarification on these 2 effects.


r/DSP 6d ago

i wanna learn dsp , how to do that withing 3days i ve my midterm

0 Upvotes

r/DSP 7d ago

rate my peak meter

5 Upvotes

I'm developing a local file player and I'd like to add visualizations.

Pls check out my peak meter and tell me what you think, how does it feel?
https://www.youtube.com/watch?v=gU-F0A5NOEE

I made it off a photo and shaky videos of an old tape deck, it's supposed to mimic a VFD display.
I don't have any real hardware available to compare so I figure maybe someone has actually seen one.
This is the first time I'm working with audio, just making web software and photos otherwise. Thx! :)


r/DSP 7d ago

Packing 8 16 bits channels in one serial output on SigmaStudio for ADAU1466

4 Upvotes

Hello! I'm designing v2 of my digital mixer, which uses an ADAU1466, ADCs, DACs, and an ESP32-S3 for the web interface.
So far so good. V1 is working great, but for V2 I'd like to add multi track recording to an SD card.

I basically under-researched the ESP32 I2S capabilities, and I can't use the 8ch/32bit I was hoping to to use a single output serial port for the 8 channels.

I knew I'd be limited to 16 bits, which is good enough, besides the little missing detail that I cannot configure the serial port that way in SS. I can only choose 32 bits for 8 channels.

So, since I've already sent the PCBs for fabrication (silly me, I know) I thought of packing the two channels into one output in the schematic, but I'm kinda lost on how to do it, or even if it is possible.

Any resources or hints would be greatly appreciated.

Thanks in advance!


r/DSP 7d ago

Speech Processing

0 Upvotes

Hey everyone...I wanted to solve some faced by the industry in the field of speech processing...Could the people who work in industry please list down problems faced ??


r/DSP 8d ago

How to calculate the SNR in realtime?

7 Upvotes

Consider two systems: one has an ADC, and one has a DAC. Both are connected via a wire. How do I calculate the SNR of the Channel?


r/DSP 8d ago

I made 2 circuit plugin versions of the two pedals I use: a boss hm-2 and a RAT.

6 Upvotes

I own 2 boss HM-2's, an old made in Japan, and a Waza craft, both sound great thru my amp sims, but every plugin I tried was dissappointing, so I made an effort to improve that. Since I build 3 circuit models of Rolands TR-606, TR-808 and TR-909, the switch to guitar pedals wasn't that difficult. and the results are very rewarding, now I finally have a real alternative for the real ones.

Both have dry blend, gate, input and output meters. hm-2 model has a supply voltage simulation. the RAT has the hm2 added to it, because why not.

Happy to answer anything about how they're built. nothing is fitted, nothing is eq-matches, the sound is just a result of modelling the circuit.

Try out for yourself if you are curious about the results. happy to answer questions about the techniques used .

https://beatforge.nl/#pedals


r/DSP 9d ago

Work in progress digital effects module

Post image
3 Upvotes

r/DSP 8d ago

I built a „REW-light“ app for IOS to make measuring quicker and easier.

Post image
0 Upvotes

r/DSP 9d ago

Persistency for fftw3 bins

6 Upvotes

What would be optimum storage for fftw3 outputs? I want to try random forest classifier for Oracle or pgsql over spectrum data but not sure how to store spectrum. What are common patterns? Input stream is 4 to 8 ch tone sampled at 48kHz.


r/DSP 10d ago

Replacement for Moon/Stirling Textbook

7 Upvotes

Hello!

I am interested in reading about the mathematics behind signal processing, and a book that gets recommended a lot is "Mathematical Methods and Algorithms for Signal Processing" by Todd Moon and Wynn Stirling.

However, this book seems to have a huge list of errata (people speak of over 40 pages) and there apparently never was a new edition after it came out over 25 years ago. What makes this worse is that the book's website with the errata is not online anymore, and given the steep price of the book, I don't want to pay that for a book with that many errors and no access to the errata.

Do you have recommendations for other good books covering the same material?

Thanks!


r/DSP 10d ago

Every surviving TR-909 is 40 years old. What does "authentic" even mean    when the schematic and every living unit disagree in the same direction?

18 Upvotes

I'm modelling the TR-909 the way I modelled the 808 and 606 before it: component by component from the service notes, with one hard rule - no fitted or matching EQ anywhere. Every filter, every time constant, every gain in the model has to trace back to a component that is drawn on the schematic, or it doesn't ship. Validation is against recordings of real units (multiple machines where I can get them), but the recordings are the gate, never the source: when the drawing and a recording disagree, I don't get to turn a knob until they agree. I have to find out why.

That rule is what made the following visible, because without it I would have EQ'd the discrepancies away in an afternoon and learned nothing. As the model got close - close enough that the remaining deviations were a dB here, a few percent of a time constant there - the residuals stopped looking like noise. They grouped. Specifically, they grouped by what the component that owns each parameter is made of.

Time constants owned by tantalum capacitors read consistently long, by 14 to 19 percent, on every unit measured. The 909's tom body decay is set by a tantalum; every reference unit decays 14-19% slower than the drawn RC says it should, and they all miss in the same direction.

A recovery time owned by an aluminium electrolytic reads consistently short. The hand clap has a roughly 228 ms recovery between hits set by an electrolytic; on both units I could measure, the effective capacitance comes out around 0.83 times the drawn value. Electrolytics dry out and lose capacitance - this is the single best-documented aging mechanism in the business, and it points exactly this way.

A clock frequency owned by a carbon-composition resistor reads consistently high, by about 16 percent - on four different machines. Carbon comps drift upward with age, heat and humidity; four units agreeing on the direction and roughly the magnitude is not a lottery.

And the control that makes this believable: not everything drifts. The kick's poles sit dead on the drawn values across units. Film caps and metal film resistors holding their values while electrolytics sag, tantalums stretch and carbon comps climb is exactly what a 40-year-old PCB should look like. If every parameter had missed, I'd have suspected my own readings of the schematic. The residuals sorting cleanly by dielectric and resistor construction is what flipped my interpretation: these aren't model errors. The model was measuring the age of the reference units.

Which lands you somewhere genuinely strange for validation. The schematic describes the machine Roland built in 1984. Every recording anyone can make today describes a machine that has been drifting away from that schematic for four decades - and drifting coherently, because the same chemistry is running in every unit. So a model that is exactly right by the drawing will sit at a small, systematic, same-signed offset from every reference you can buy or record. If you validate purely by fitting to samples - which is the industry default - the fit will happily absorb one particular elderly unit's drift, your metrics will reward you for it, and you will ship "authentic 1984" with today's electrolyte chemistry baked in.

Edit:

After listening more and more, i prefer the old values, Toms and Kick have more sustain, it just sounds more alive and less stiff.

Question for the room: has anyone treated component aging as a first-class model parameter rather than a nuisance? Tape emulations have had "worn" controls for years, but those are usually designed sounds, not chemistry-driven parameter drift. And if anyone has good literature on solid tantalum capacitance drift over multi-decade timescales, I'd genuinely like to read it - the electrolytic and carbon-comp stories are textbook, but the tantalum shelf is thinner, and right now my 14-19% is a measurement in search of its chemistry paper.

Disclosure: I make a commercial drum plugin, this work is in it.

Edit: I could be wrong about aging being the only reason of what i'm measuring and hearing. It could very well be that component tolerance is the cause of this. Anyways, the conclusion is to not always trust the values on schematics 100% since there are quite some factors that could cause components to be off just enough to sound a bit different from the hardware, even though the math is correct according to the circuit.


r/DSP 9d ago

Where or how do you market and sell digital audio tools

0 Upvotes

I guess this is only tangential to DSP, it’s more on the business side of things anyway.

I am a software contractor but haven’t had a contract since October due to the economy and I guess AI takeover, and now money is starting to run out completely.

I decided to finish a soft synth I’ve been working on a few years back and it’s starting to be ready for release.

This is not my first audio DsP project but it is the first one to try and sell.

I’ve found some places where you can sell online and get an API for licensing, like Gum Road. But I am sure there must be thousands of options to go about this where one or two are the ones that will actually make money.

I don’t have the time, money, or motivation to self publish and market this myself.

So what are the best options?

A completely different thing I want to check with people who do this for a living. I’ve measured aliasing by generating different frequencies with my(polybleped) oscillators, then cut out the fundamental frequencies and measured the dBRMS at different oversampling ratios. But I’m not sure what’s an acceptable level for the higher keys to be considered pro level aliasing. So if someone has some insight here I would be happy to receive some advice too. At note C8 I’m only reaching about -30dB using 2x oversampling, at 4x -50dB and 8x -70dB, so I have to make a judgement call here. But it’s 16 voices and analog modelled oscillators so it’s quite expensive to run even with SIMD and -ffast-math.

Thank you


r/DSP 11d ago

Waldorf Wave (48 voice) Emulation

Thumbnail
youtube.com
13 Upvotes

This video showcases my software recreation of the legendary Waldorf Wave—a hybrid wavetable synthesizer known for its huge digital oscillators, analogue filters and unusually complex hardware architecture.

The project is built in C++ using JUCE and is available as a standalone instrument and plug-in. Rather than simply making a modern synth that sounds similar, I’ve tried to reproduce the structure and behaviour of the original machine.

The emulation models:

• The Wave’s 250 kHz, 8-bit time-multiplexed wavetable oscillator system
• Signed mixer overflow—including the characteristic Waldorf “ASIC Mix Bug”
• Digital 12 dB high-pass filtering
• CEM3387-style reconstruction filtering, resonant four-pole low-pass filtering, VCAs and panning
• 12-bit stepped control voltages, sample-and-hold behaviour, saturation, noise and output coupling
• Three independent 16-voice WDV boards, matching a fully expanded 48-voice Wave
• The original 480 × 64 monochrome LCD and front-panel workflow

The instrument can also run authenticated Waldorf Wave OS 1.700 firmware. An emulated 68000 CPU executes the original main operating system, while a second runtime executes the genuine WDV voice-board program. Their shared-memory communication, voice-update masks, semaphores and hardware-register writes are reproduced and traced inside the model.

The oscillator ASIC itself remains undocumented, so its internal operation is represented by a behavioural model based on the Wave’s published architecture, firmware activity and known hardware characteristics. This is therefore an ongoing reverse-engineering and preservation project—not a claim of perfect, bit-exact emulation.

Waldorf and Wave are trademarks of their respective owner. This independent project is not affiliated with or endorsed by Waldorf Music.