![]() ![]() N is the number of samples in the window (bps and bps at Fs=19200Hz sample frequency).x(n) is the sample value at timestamp n.Xm(n) is the DFT bin value of bin m at timestamp n.The algorithm for the sliding DFT is the following: This is not a lot, but this is detectable with the ADC in the Arduino 328p with the reference voltage set to 1.1V. The tape signal from the MSX was measured around 40mV pp. This means that one 1200Hz cycle '0' and the two cycles 2400Hz '1' fit in 16 samples. I picked a sampling frequency of 19200Hz for the Arduino. This is the method I have been experimenting with.įor the MSX, I wanted to decode both 12 bps signals.įor 1200 bps, the frequency bins of 1200Hz are 2400Hz are needed, for 2400 bps, 2400Hz and 4800Hz are needed. It is an efficient method to calculate specific DFT bins. This is quite similar to the Goertzel, but it does not work on a block, but you update it per sample. The next chapter in the book I found was about the sliding DFT (Digital Signal Processing by John Proakis). should work on an Arduino (Atmel 328p processor).Not knowing what that was, I started reading and found that it is a very efficient method to detect a few frequencies in a signal.I wanted to create a 'record' function for the Casduino: This uses the Goertzel algorithm to decode the data. I started thinking about the recording function when I saw the Sofacas program. Please feel free to get in touch with me. It may be easier to get the record function working on the Arduitape first which is essentially just a WAV player but the library it uses can also record and once it's recording properly and the playback is being recognised then it's working on getting it to work on CASDuino or TZXDuino in some way. If it's a RAW data format then you would have to work out a way top play that back so that the computer would recognise it. ![]() If it's WAV then you would have to add WAV playback. You can't record straight to CAS so it would have to be some raw data format or WAV. The real difficulty is working out a format to record and then fitting the code into what we already have. There are various projects to get it to record sound. Getting a 328p to record is not necessarily the difficult part. There is a signal that can be detected with the ADC. I am working on the ADC version first, if that fails, I will pick up the opamp version. A version with an opamp (so a bit of additional hardware) and a version that uses the ADC of the 328p (2 resistors and a capacitor). It is all work in progress, but I am working on two tracks. Hi, I am trying to get a recording function working on the 328p. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
December 2022
Categories |