Toots for ChuckMcManis@chaos.social account

Written by Chuck on 2025-01-21 at 06:51

Okay, so if you run through Tau radians, your function draws a unit circle around the origin. wt is the instantaneous phase.

So question, what if you wanted to make it a spiral so that amplitude was function of wt? using A = qwt (where q is spiral factor) and A is the amplitude? What text talks about this question? I'd like to make q a function of A such that it changes over values of time and A so that A stays between two bounds.

2/2

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-21 at 06:46

Ok #math heads, I've got a puzzle for you. You know Euler's equation and how EE types have used that for phasors which they write as e^-jwt where j is the EE version of i (sqrt(-1)), omega (w), is 2 * pi * the frequency, and t is time (in seconds). You can expand that to cos(wt)-sin(wt)j and think of cos(wt) and -sin(wt) as the x/y (or in our EE case i/q for quadrature signals) coordinates on a plane where i and q are the basis vectors. 1/2

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-20 at 04:02

More of this please:

https://www.penzeys.com/shop/about-republicans/

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-18 at 22:52

Quite the relic

=> View attached media

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-17 at 21:11

Wow, that is a lot of energy storage going instantly 'poof!'

I also found it hilarious that news reports were "The smoke is toxic but it is going high enough up that it isn't a threat to residents"

Err yeah, now its a threat to people further away?!?

(https://investor.vistracorp.com/2023-08-01-Vistra-Completes-Milestone-Expansion-of-Flagship-California-Energy-Storage-System -- now 100% destroyed)

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-15 at 20:04

I was wondering today what the difference between a mixed "domain" oscilloscope and a mixed "signal" oscilloscope was. And the 'secret sauce' turns out to be the former can do FFT's and the latter can decode i2c 😃

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-13 at 22:05

I tell myself I put syntax errors in my #ifdef'd section on purpose so the compiler will notify me that I have correctly defined my control.

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-13 at 04:23

Sometimes when I move my mouse I accidentally hit the scroll gizmo and poof all my windows disappear. Probably a setting to change that somewhere.

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-13 at 00:50

All those zeros are very high frequency, so passing the data buffer through a very simple FIR filter to smeared them all out and poof, I've got a nice clean spectrum. (remember 96 kHz sample rate where my highest expected frequency is 20 kHz gives me lots of room for a slow roll off LPF).

Reminding me once again that Fourier sees everything, unless you take it out first.

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-13 at 00:48

And now I'm going to have to correct myself again, because I changed two things at the same time (I thought I was injecting zeros and I changed the number of bins I was using). Turns out my hack to inject zeros never fired, (so I wasn't injecting them). So what now? The wider the FFT (I used 131072 bins to get good resolution at the lower frequencies) the more spectral noise you bring in, the bigger impact. When I fixed it to inject zeros it saw those and kinda went crazy. So ...

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-13 at 00:14

And for the record, this plot is exactly what I expected when I first did this, a higher and "noisier" noise floor because of the lower precision but a single peak at the frequency of interest.

EDIT: Important caveat, I had a bug in my munged code, see below.

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-13 at 00:08

Okay then, while I kludged it in via the data (I haven't figured out how I'm going to write the verilog for it yet, injecting the 0 into the data stream does clean up the spectrum on the FFT. Will make it controllable by a switch on the design so I can look on my spectrum analyzer to see how this plays out.

=> View attached media

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-12 at 23:55

One thing I remain curious about, is how the fractional step will show up in the final signal. I could accumulate error and inject a 0 sample whenever it exceeded 1. That shows up as phase noise but might make for cleaner spectrum?

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-12 at 23:41

At which point I think I'm ready to generate a bitstream and upload it to the FPGA and debug my use of the DSP blocks 😃

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-12 at 23:36

At a sample rate of 96kHz, each "cycle" at 4152 Hz, is 23.121 samples. You can only do integer samples. And 0/0.121 is 8. At 4000 Hz there are exactly 24 samples per cycles. The former has spurs in the FFT at Tone Frequency / 8, the second has no spurs.

As a result, rather than having the last sample used in the FFT being equivalent to the one before the first sample, its somewhere in the middle. And THAT is what the FFT is seeing.

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-12 at 23:29

So I figured out the spurs were at 519Hz intervals (target frequency/8) for some reason. So I tried 4000Hz and got the included plot.

I'm glad I didn't get this first or I might have just moved on.

So this suggests what I'm seeing is "spectral leakage" which is an FFT artifact from the FFT assuming the signal you're looking at is just this repeating over and over and over. The Harris window I use should tamp that down but it may be a red herring.

=> View attached media

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-12 at 20:28

Hmm, spurs, spurs, what is your origin?

=> View attached media

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-12 at 19:49

I may have to write a fedi client. I really really want to have it not show boosted toots that have already appeared in my timeline.

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-12 at 07:18

One of the fun things #SDR code keeps teaching me is the relationship between quantization and signal quality. Now I have to figure out how to turn two 16 bit DSP blocks into a single 32 bit DSP block 😃

=> More informations about this toot | View the thread

Written by Chuck on 2025-01-11 at 20:44

I took the step of upgrading my Vivado install to 'current' and wow, is that a lot of stuff it wants to put on my system.

[#]FPGA #hardware

=> More informations about this toot | View the thread

=> This profile with reblog | Go to ChuckMcManis@chaos.social account

Proxy Information
Original URL
gemini://mastogem.picasoft.net/profile/111009433142339483
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
655.619174 milliseconds
Gemini-to-HTML Time
6.253364 milliseconds

This content has been proxied by September (ba2dc).