Signal processing tips from Hackaday

Signal processing is an electrical engineering subfield that focuses on analysing, modifying and synthesizing signals such as sound, images and biological measurements. Electronic signal processing was first revolutionized by the MOSFET and then single-chip digital signal processor (DSP). Digital signal processing is the processing of digitized discrete-time sampled signals. Processing is done by general-purpose computers or by digital circuits such as ASICs, field-programmable gate arrays or specialized digital signal processors (DSP chips).

Hackaday has published an in interesting series of articles on signal processing, and here are some picks from it:

RTFM: ADCs And DACs
https://hackaday.com/2019/10/16/rtfm-adcs-and-dacs/

DSP Spreadsheet: IQ Diagrams
https://hackaday.com/2019/11/15/dsp-spreadsheet-iq-diagrams/

Sensor Filters For Coders
https://hackaday.com/2019/09/06/sensor-filters-for-coders/

DSP Spreadsheet: FIR Filtering
https://hackaday.com/2019/10/03/dsp-spreadsheet-fir-filtering/

Fourier Explained: [3Blue1Brown] Style!
https://hackaday.com/2019/07/13/fourier-explained-3blue1brown-style/

DSP Spreadsheet: Frequency Mixing
https://hackaday.com/2019/11/01/dsp-spreadsheet-frequency-mixing/

Spice With A Sound Card
https://hackaday.com/2019/07/03/spice-with-a-sound-card/
- check also A real-time netlist based audio circuit plugin at https://github.com/thadeuluiz/RTspice

Reverse Engineering The Sound Blaster
https://hackaday.com/2019/06/19/reverse-engineering-the-sound-blaster/

FM Signal Detection The Pulse-Counting Way
https://hackaday.com/2019/08/28/fm-signal-detection-the-pulse-counting-way/

DSP Spreadsheet: IQ Diagrams< https://hackaday.com/2019/11/15/dsp-spreadsheet-iq-diagrams/

Here is an extra, not from Hackaday, but an interesting on-line signal processing tool for generating sounds
https://z.musictools.live/#95

164 Comments

  1. Barbara morris says:

    Hey, sir, I had a question regarding Digital signal processing can I contact you somehow?

    Reply
  2. Barbara morris says:

    Hey, sir, I had a question regarding Digital signal processing can I contact you somehow?

    Reply
  3. Tomi Engdahl says:

    A real-time netlist based audio circuit plugin
    https://github.com/thadeuluiz/RTspice

    Reply
  4. Tomi Engdahl says:

    Intuition About Signals And Systems
    https://hackaday.com/2020/09/05/intuition-about-signals-and-systems/

    Signals and systems theory is a tough topic. Terms like convolution and impulse response can be hard to understand on a visceral level and most books that talk about these things emphasize math over intuition. [Discretised] has a YouTube channel that already has several videos that promise to tackle these topics with “minimum maths, maximum intuition.” We particularly noticed the talks on convolution and impulse response.

    We think that often math and intuition don’t always come together

    Reply
  5. Tomi Engdahl says:

    WELCOME TO NOISE.SH
    noise.sh is a digital signal processing spreadsheet for sound design.
    https://noise.sh/

    Reply
  6. Tomi Engdahl says:

    #303: What is a Pulse Counting FM Demodulator | Detector | Discriminator?
    https://www.youtube.com/watch?v=jQlN2fc7LJc

    This video describes how a Pulse Counting FM Discriminator works – it is a unique FM demodulator that doesn’t require and tuned circuits like the FM Ratio Detector or Foster Seeley discriminator. It operates by measuring the changing duty cycle resulting from a series or fixed width pulses that are synchronized to the carrier, or IF frequency.

    Here is a link to Alan Yates’ blog on a discrete FM broadcast receiver made using this technique:
    http://www.vk2zay.net/article/250

    Reply
  7. Tomi Engdahl says:

    #167: How a Diode Ring Mixer works | Mixer operation theory and measurement
    https://www.youtube.com/watch?v=junuEwmQVQ8

    Reply
  8. Tomi Engdahl says:

    What Bandwidth is Needed for an Arbitrary Digital Signal?
    https://www.nwengineeringllc.com/article/what-bandwidth-is-needed-for-an-arbitrary-digital-signal.php

    This is a common question in high speed digital design, and it is one that does not have a simple answer. As much as we’d like to think digital signals have a fixed bandwidth, they don’t, contrary to statements from PCB design “experts.” Where you cut off the bandwidth of your digital signal and your channel depends on multiple factors, and designers should understand what defines bandwidth limits when designing high data rate communication channels.

    Reply
  9. Tomi Engdahl says:

    A mathematical approach to estimate probable errors in a measurement task
    https://www.edn.com/a-mathematical-approach-to-estimate-probable-errors-in-a-measurement-task/?utm_content=buffer4506f&utm_medium=social&utm_source=edn_facebook&utm_campaign=buffer

    Very often, in the test and measurement industry, a measurement is made by instrumentation, which is often subject to errors. It is difficult to estimate the true value of the measured quantity given a number of indeterminate, uncorrelated, and random factors.

    This article describes a method to estimate the probable error of a measurement, specifically, the probable error of a direct measurement and an indirect measurement. A direct measurement is one in which the quantity sought is obtained directly by a measurement made by instruments indicating the sought quantity. An indirect measurement is the one in which the measurement is not directly made, but is calculated from other directly-measured quantities.

    Reply
  10. Tomi Engdahl says:

    DSP Spreadsheet: The Goertzel Algorithm Is Fourier’s Simpler Cousin
    https://hackaday.com/2020/11/13/dsp-spreadsheet-the-goertzel-algorithm-is-fouriers-simpler-cousin/

    You probably have at least a nodding familiarity with the Fourier transform, a mathematical process for transforming a time-domain signal into a frequency domain signal. In particular, for computers, we don’t really have a nice equation so we use the discrete version of the transform which takes a series of measurements at regular intervals. If you need to understand the entire frequency spectrum of a signal or you want to filter portions of the signal, this is definitely the tool for the job. However, sometimes it is more than you need.

    For example, consider tuning a guitar string. You only need to know if one frequency is present or if it isn’t. If you are decoding TouchTones, you only need to know if two of eight frequencies are present. You don’t care about anything else.

    Fourier in Review

    Just to review, a typical system that uses a Fourier transform will read a number of samples at some clock frequency using an analog to digital converter. For example, you might read 1024 samples at 1 MHz. Each sample will be 1 microsecond after the previous sample, and you’ll get just over a millisecond’s worth of data.

    The transform will also produce 1024 results, often known as buckets. Each bucket will represent 1/1024 of the 1 MHz. Because of the Nyquist limit, the top half of the results are not very useful, so realistically, the first 512 buckets will represent 0 Hz to 500 kHz.

    Tradeoffs

    Don’t forget, everything is a tradeoff. The sampling rate and the number of samples determine how long it takes to read each sample and also how broad the frequency range for the bucket is. If you are having to probe for lots of frequencies, you might be better off with a well-implemented Fourier transform library.

    Reply
  11. Tomi Engdahl says:

    Hackaday Prize Entry: Open Source FFT Spectrum Analyzer
    https://hackaday.com/2016/07/06/hackaday-prize-entry-open-source-fft-spectrum-analyzer/

    Every machine has its own way of communicating with its operator. Some send status emails, some illuminate, but most of them vibrate and make noise. If it hums happily, that’s usually a good sign, but if it complains loudly, maintenance is overdue. [Ariel Quezada] wants to make sense of machine vibrations and draw conclusions about their overall mechanical condition from them. With his project, a 3-axis Open Source FFT Spectrum Analyzer he is not only entering the Hackaday Prize 2016 but also the highly contested field of acoustic defect recognition.

    For the hardware side of the spectrum analyzer, [Ariel] equipped an Arduino Nano with an ADXL335 accelerometer, which is able to pick up vibrations within a frequency range of 0 to 1600 Hz on the X and Y axis.

    Open Source FFT Spectrum Analyzer
    An FFT spectrum analyzer for machinery vibration analysis, using open source hardware and software
    https://hackaday.io/project/12109-open-source-fft-spectrum-analyzer

    Reply
  12. Tomi Engdahl says:

    ApproxFFT: Fastest FFT Function for Arduino © CC BY-NC
    This function performs FFT with very good speed while maintaining accuracy.
    https://create.arduino.cc/projecthub/abhilashpatel121/approxfft-fastest-fft-function-for-arduino-fd4917

    some of the significant observation on the test:

    Speed is more than 3 times faster than conventional FFT,
    Memory consumption is low (almost half),
    The output is comparable with exact values (low error),

    Reply
  13. Tomi Engdahl says:

    dsp arduino code for filtering analog enviroments
    https://hackaday.io/project/176856-dsp-arduino-code-for-filtering-analog-enviroments

    get guaranteed accuracy from a sensor in a noisy environment quickly and consistently from hybrid filtering bandpass example for VL53L0

    Reply
  14. Tomi Engdahl says:

    Circuit Impedance Calculations Without Cumbersome Simulations
    https://hackaday.com/2021/03/02/circuit-impedance-calculations-without-cumbersome-simulations/

    Using circuit simulating software like SPICE can be a powerful tool for modeling the behavior of a circuit in the real world. On the other hand, it’s not always necessary to have all of the features of SPICE available all the time, and these programs tend to be quite expensive as well. To that end, [Wes Hileman] noticed an opportunity for a specific, quick method for performing impedance calculations using python without bulky, expensive software and came up with a program which he calls fastZ.

    The software works on any network of passive components (resistors, capacitors, and inductors) and the user can specify parallel and series connections using special operators.

    https://github.com/whileman133/fastZ

    Reply
  15. Tomi Engdahl says:

    https://www.edn.com/understanding-fft-vertical-scaling/?utm_content=bufferb183f&utm_medium=social&utm_source=edn_facebook&utm_campaign=buffer

    The fast Fourier Transform (FFT), added to an oscilloscope or digitizer, permits measuring the frequency domain spectrum of the acquired signals. This provides a different and usually helpful perspective; signals can be viewed as plots of amplitude or phase versus frequency

    Reply
  16. Tomi Engdahl says:

    The #FFT vertical or #amplitude response is affected by a number of factors you should keep in mind #oscilloscopes #measurement
    https://buff.ly/3v3SOGR

    Reply
  17. Tomi Engdahl says:

    On Windows I use WaveGene which has 8 individual dual channel oscillators. On Linux and Mac you can use ‘sox’ to generate very low THD signals.

    I’m struggling to think why someone would want to build something when there is software like this available for free. But if you want to do it the hard way…

    Reply
  18. Tomi Engdahl says:

    … the Voxengo SPAN *free* FFT Spectrum Analyzer is perfectly adequate for most tasks though.
    https://www.voxengo.com/product/span/

    Reply
  19. Tomi Engdahl says:

    Digilent Analog Discovery Software WaveForms works with sound cards on most OS and is free to download.

    WaveForms got a lot of nice features like Oscilloscope, Spectrum Analyzer, Network Analyzer etc. that works with sound cards. For Spectrum and Network i use both this and ARTA. But the Oscilloscope part is very nice and might be of use for some.

    WaveForm reference: https://reference.digilentinc.com/reference/software/waveforms/waveforms-3/start

    The best is to download the latest beta that works with your OS: https://forum.digilentinc.com/topic/8908-waveforms-beta-download/?fbclid=IwAR1Bnaq1agWdtzP1DquXQzyEn94-KHXQbAApQEOUGo6XwCTuCx05BcGl2LU

    Reply
  20. Tomi Engdahl says:

    WaveGene & WaveSpectra.
    a brief page on how to measure THD
    https://gtkc.net/wavespectra-and-wavegene-thd-measurement

    Reply
  21. Tomi Engdahl says:

    You can also use ‘Sox’ to create an inverse test signal.
    I found this on DIYAudio dot com
    https://www.diyaudio.com/forums/analogue-source/203706-error-self-riaa-7.html

    Reply
  22. Tomi Engdahl says:

    It looks as though this software can apply an inverse EQ.
    https://www.alpinesoft.co.uk/VinylStudio/recording_eq.aspx

    Reply
  23. Tomi Engdahl says:

    All-pass filters provide a simple way of altering/improving the phase response of an IIR without affecting its magnitude response. As such, they are commonly referred to as phase equalisers and have found particular use in digital audio applications. https://www.advsolned.com/all-pass-filter/#datascience #dataanalytics #DSP #signalprocessing #IIR

    Reply

Leave a Comment

Your email address will not be published. Required fields are marked *

*

*