DSPRelated.com
Forums

Anyone got a name for this "modulation scheme"?

Started by overgaard February 17, 2011
A couple of days ago I found my old Micro Professor MPF-1 in my
bookshelf and I thought it would be fun coding some on that old thing.
I didn't want to code it entering the hexadecimal codes by hand so
I thought I use an Z80 assembler on my PC and then transfer the assembled
code to the MPF-1 somehow. That somehow I decided to be using the
cassette interface :D

Then I only had to write some simple code generating audio and
hooking the MPF-1 to the soundcard of my computer. Sweet! :D

I did the PC to MPF-1 software and it generates the required audio in
the correct format. :D

Now, as the geek I am, (and since I do like playing with some DSP), I want
to do it the other way too. But decoding the audio is as usual more
complicated. I've done some FSK, MSK, etc, decoding in the past.

Well, enough background story... Now to the questions...

The format used is something I haven't seen before (or I might have but can
not remember).

The bit format looks like this

For a "1" it's 8 cycles of 2 kHz and 2 cycles of 1 kHz
For a "0" it's 4 cycles of 2 kHz and 4 cycles of 1 kHz

Each bit is 6 ms long and each byte has 1 start bit, 8 bits, and 1 stop
bit
thus 60 ms long

Anyone has a name of the scheme/modulation used? Why not use 2 kHz for 1
and 1 kHz for 0 etc as in "normal" AFSK or whatever?

On this page you'll see what an MPF-1 is
http://www.old-computers.com/museum/computer.asp?c=479

And here is a picture describing the format used
http://img203.imageshack.us/i/tapeformat.jpg/

Best regards
Jorgen
On Feb 17, 4:43&#4294967295;am, "overgaard" <jorgen@n_o_s_p_a_m.antistaten.se>
wrote:
> A couple of days ago I found my old Micro Professor MPF-1 in my > bookshelf and I thought it would be fun coding some on that old thing. > I didn't want to code it entering the hexadecimal codes by hand so > I thought I use an Z80 assembler on my PC and then transfer the assembled > code to the MPF-1 somehow. That somehow I decided to be using the > cassette interface :D > > Then I only had to write some simple code generating audio and > hooking the MPF-1 to the soundcard of my computer. Sweet! :D > > I did the PC to MPF-1 software and it generates the required audio in > the correct format. :D > > Now, as the geek I am, (and since I do like playing with some DSP), I want > to do it the other way too. But decoding the audio is as usual more > complicated. I've done some FSK, MSK, etc, decoding in the past. > > Well, enough background story... Now to the questions... > > The format used is something I haven't seen before (or I might have but can > not remember). > > The bit format looks like this > > For a "1" it's 8 cycles of 2 kHz and 2 cycles of 1 kHz > For a "0" it's 4 cycles of 2 kHz and 4 cycles of 1 kHz > > Each bit is 6 ms long and each byte has 1 start bit, 8 bits, and 1 stop > bit > thus 60 ms long > > Anyone has a name of the scheme/modulation used? Why not use 2 kHz for 1 > and 1 kHz for 0 etc as in "normal" AFSK or whatever? > > On this page you'll see what an MPF-1 ishttp://www.old-computers.com/museum/computer.asp?c=479 > > And here is a picture describing the format usedhttp://img203.imageshack.us/i/tapeformat.jpg/ > > Best regards > Jorgen
I don't know of a name for that scheme. It is similar to biphase encoding. The advantage of including frequency shifts within a bit, as compared to regular FSK, is that the demodulator can maintain bit synchronization when there are long runs of 1s or 0s. John
On Feb 17, 3:43&#4294967295;am, "overgaard" <jorgen@n_o_s_p_a_m.antistaten.se>
wrote:

> > The format used is something I haven't seen before (or I might have but can > not remember). > > The bit format looks like this > > For a "1" it's 8 cycles of 2 kHz and 2 cycles of 1 kHz > For a "0" it's 4 cycles of 2 kHz and 4 cycles of 1 kHz > > Each bit is 6 ms long and each byte has 1 start bit, 8 bits, and 1 stop > bit > thus 60 ms long
Think of it as *coded* FSK that uses 2 kHz to transmit a "1" data bit and 1 kHz to transmit a "0" data bit. The code is a (3,1) code that maps 1 --> 110 0 --> 100 with each *channel* bit being of 2 ms duration for a total transmission time of 6 ms for each *data* bit. Alternatively, each *data bit* itself has a start bit that is always 1 and a stop but which is always 0 sandwiching the actual data bit. Hope this helps --Dilip Sarwate
On Feb 17, 4:43&#4294967295;am, "overgaard" <jorgen@n_o_s_p_a_m.antistaten.se>
wrote:
> A couple of days ago I found my old Micro Professor MPF-1 in my > bookshelf and I thought it would be fun coding some on that old thing. > I didn't want to code it entering the hexadecimal codes by hand so > I thought I use an Z80 assembler on my PC and then transfer the assembled > code to the MPF-1 somehow. That somehow I decided to be using the > cassette interface :D > > Then I only had to write some simple code generating audio and > hooking the MPF-1 to the soundcard of my computer. Sweet! :D > > I did the PC to MPF-1 software and it generates the required audio in > the correct format. :D > > Now, as the geek I am, (and since I do like playing with some DSP), I want > to do it the other way too. But decoding the audio is as usual more > complicated. I've done some FSK, MSK, etc, decoding in the past. > > Well, enough background story... Now to the questions... > > The format used is something I haven't seen before (or I might have but can > not remember). > > The bit format looks like this > > For a "1" it's 8 cycles of 2 kHz and 2 cycles of 1 kHz > For a "0" it's 4 cycles of 2 kHz and 4 cycles of 1 kHz > > Each bit is 6 ms long and each byte has 1 start bit, 8 bits, and 1 stop > bit > thus 60 ms long > > Anyone has a name of the scheme/modulation used? Why not use 2 kHz for 1 > and 1 kHz for 0 etc as in "normal" AFSK or whatever? > > On this page you'll see what an MPF-1 ishttp://www.old-computers.com/museum/computer.asp?c=479 > > And here is a picture describing the format usedhttp://img203.imageshack.us/i/tapeformat.jpg/ > > Best regards > Jorgen
Hello Jorgen, This stuff brings back old memories. In the early "micro days", some (OSI - Ohio Scientific Inc) just used a simple FSK (300 bps) and then Apple in the Apple II used a variant. I seem to recall that Apple achieved about 1300 bps with their tape interface. I recall one nonmanufacturer specific standard was called the "Kansas City Tape Interface." SWTP (Southwest Technical Products) used to sell a kit for that and I built one back in 1978. I'm not familiar with your example. The coding is interesting in that every "bit" contains a transition, but unlike Manchester the info is buried in the ratio of time between the low freq and the high freq. You can see each 6 mSec bit contains 2mSec of one freq and 4 mSec of the other. Cool. Clay
>I don't know of a name for that scheme. It is similar to biphase >encoding. The advantage of including frequency shifts within a bit, as >compared to regular FSK, is that the demodulator can maintain bit >synchronization when there are long runs of 1s or 0s. > >John >
Hi John, Thanks for answering! I will have a look at biphase encoding then. I found an old document describing some old tape formats/encodings. I think that biphase was mentioned. Regards // Jorgen
>Think of it as *coded* FSK that uses 2 kHz to transmit a >"1" data bit and 1 kHz to transmit a "0" data bit. The code >is a (3,1) code that maps > >1 --> 110 >0 --> 100 > >with each *channel* bit being of 2 ms duration for a total >transmission time of 6 ms for each *data* bit. Alternatively, >each *data bit* itself has a start bit that is always 1 and a >stop but which is always 0 sandwiching the actual data >bit. > >Hope this helps > >--Dilip Sarwate > >
Hey, thats pretty clever! :D I took my old trusty FSK demodulation code and changed some values (datarate 3 times the actual baudrate) It works like a charm! The alternative way you mention I have to take a look at too. :D Many thanks! Best regards Jorgen
>Hello Jorgen, > >This stuff brings back old memories. In the early "micro days", some >(OSI - Ohio Scientific Inc) just used a simple FSK (300 bps) and then >Apple in the Apple II used a variant. I seem to recall that Apple >achieved about 1300 bps with their tape interface. I recall one >nonmanufacturer specific standard was called the "Kansas City Tape >Interface." SWTP (Southwest Technical Products) used to sell a kit for >that and I built one back in 1978. I'm not familiar with your example. >The coding is interesting in that every "bit" contains a transition, >but unlike Manchester the info is buried in the ratio of time between >the low freq and the high freq. You can see each 6 mSec bit contains >2mSec of one freq and 4 mSec of the other. Cool. > >Clay > >
Hello Clay, I guess I am one of those nostaglic guys when it comes to old stuff like this. :D I've never stumbled across an encoding like this for tape storage before so I thought it's kind of interresting. The old MPF-1 seem quite deaf. I have the volume at max from my computer and it does not hear the audio. I will have to hook some amplifier in between. I'll let you all know if anyone's interrested. :D Best regards // J&ouml;rgen