kamalmostafa / minimodem

general-purpose software audio FSK modem
http://www.whence.com/minimodem
Other
857 stars 114 forks source link

NRZ (not NRZI) decoding #38

Open ereuter opened 6 years ago

ereuter commented 6 years ago

I am interested in decoding an AFSK signal that uses 1200/1800 Hz mark/space, but is not NRZI like Bell 202. Each bit is either 1 cycle of 1200 Hz or 1.5 cycles of 1800 Hz, with continuous phase. Packets are 144 bits long. Can minimodem decode this?
I tried the --binaray-raw option, but it seems to still be assuming NRZI. Thanks.

nkeck720 commented 6 years ago

AFAIK, minimodem doesn’t support NRZI encoding or decoding. What you could do to emulate it would be to perhaps invert the mark/space options, so that 1800 is space and 1200 is mark, effectively creating NRZI as I understand it.

I’m not a developer for this project or a maintainer, I’m simply watching this project. As such, take my words with a grain of salt.

Sent from Mail for Windows 10

From: Eric Reuter Sent: Thursday, May 24, 2018 6:47 AM To: kamalmostafa/minimodem Cc: Subscribed Subject: [kamalmostafa/minimodem] Non-NRZI decoding (#38)

I am interested in decoding an AFSK signal that uses 1200/1800 Hz mark/space, but is not NRZI like Bell 202. Each bit is either 1 cycle of 1200 Hz or 1.5 cycles of 1800 Hz, with continuous phase. Packets are 144 bits long. Can minimodem decode this? I tried the --binaray-raw option, but it seems to still be assuming NRZI. Thanks. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

ereuter commented 6 years ago

Bell 202 is NRZI. That is the default for Minimodem.

increa commented 4 years ago

The --binary-raw option does simple FSK demodulation, which is not NRZI. I tested this looking at a wav file with Audacity and comparing to the minimodem --binary-raw output. 4KHz mark => 1 and 2KHz space => 0. NRZI interprets transitions as 0 and no transitions as 1, which is not the same.