4 ms·
What software was used to turn the raw signal into zeros and ones? I've had a similar project since forever (reading digital data off 80s-era cassette tapes), I
by ggambetta 3y ago
What software was used to turn the raw signal into zeros and ones? I've had a similar project since forever (reading digital data off 80s-era cassette tapes), I have pretty good .wav versions of the tapes, but I haven't found the right tool (or library) to turn it into zeros and ones :( Of course the fun part will begin once I can start decoding the zeros and ones...
EDIT: I know how the bits are encoded, it's Frequency Shift Keying[0]. What I don't know is what to use to decode this into a stream of bits I can process further (with custom code).
[0] https://en.wikipedia.org/wiki/Frequency-shift_keying https://en.wikipedia.org/wiki/Frequency-shift_keying
- Karliss 3y agoPulseview https://github.com/sigrokproject/pulseview https://github.com/sigrokproject/pulseview and probably other parts of Sigrok project https://github.com/sigrokproject https://github.com/sigrokproject . Or since author mentioned DSlogic possibly the corresponding forks of those programs from the company making the logic analyzer.
- gquere 3y agoIndeed I used DSView which is a fork of pulseview.
- aeonik 3y agoThis is a a major field called Digital Signal Processing, and it's fundamentally what a modem or the ADC in your sound card is doing. I'm not aware of any single algorithm or software that can turn any raw signal to bytes. You need to figure out which modulating scheme the signal uses, and either find a decoder for it, or write your own. Generally it's going to involve filtering, and other mathematical algorithms. But they tend to be pretty short and simple programs for basic decoding. It's a pretty neat skill to learn because you can use the same techniques for all sorts of things. For example, once I learned a bit of DSP it unlocked a lot of abilities with Radio communication, Music and Sound design, image, and video processing.
- dekhn 3y agoGNU radio has all the bits to do signal processing from raw analog data to symbols to bytes. For example, I can use my SDR to record various signals in my neighborhood, make a guess that it's manchester encoded, then pass that signal to a symbol demodulaor, pass the symbols through a manchester decoder, then on to a protocol decoder (IIRC my tires have batteries and transmitters to send their pressure level to my car). GNU radio has bits for all these steps, but yeah, you kind of need to know the modulation schema and the codec scheme to make sense of it. Here's a nice example: https://bkerler.github.io/OregonDecoder/ https://bkerler.github.io/OregonDecoder/
- 4gotunameagain 3y agoThis is not DSP, this is just digital communication. DSP is digital manipulation of a sampled signal, whether that is infinite/finite impulse response filters (IIR, FIR), discrete fourier transform, discrete wavelet transform etc..
- mike_hock 3y agoThe article makes it sound easy. When the clock goes from low to high, the current level of the data line is the bit value, and you look for a one and seven zeros to find the start.
- ack_complete 3y agoFor decoding old FSK tapes, look into sliding Goertzel filters. They're easy to implement filters that extract the amplitude of a frequency bin within a sliding window, and are often referenced in literature about DTMF decoding. Compare the outputs of a pair of these to produce a digital output. You can also use a sparse sliding DFT, but interpolating between frequency bins is more of a hassle, whereas the Goertzel filter handles that for you.
- matja 3y agoThe loading routines from that era just count the number of DC zero-crossings and convert X crossings into a 0 and Y crossings into a 1, they don't care about frequency or amplitude (the raw signal is usually fed into a Schmitt trigger to implement hysteresis for a stable edge). That way, the polarity of the tape signal and the variation of the motor is compensated for.