Saya membaca buku: " Kode: Bahasa Tersembunyi dari Perangkat Keras dan Perangkat Lunak Komputer " dan dalam Bab 2 penulis mengatakan:
Kode Morse dikatakan kode biner (secara harfiah berarti dua oleh dua) karena komponen kode hanya terdiri dari dua hal - titik dan garis putus-putus.
Wikipedia di sisi lain mengatakan:
Sebenarnya itu bukan biner, karena ada lima elemen mendasar (lihat quinary). Namun, ini tidak berarti kode Morse tidak dapat direpresentasikan sebagai kode biner. Dalam arti abstrak, ini adalah fungsi yang dilakukan oleh operator telegraf saat mengirim pesan (lihat quinary).
Tetapi sekali lagi, halaman Wikipedia lain memasukkan Kode Morse di 'Daftar kode biner.'
Saya sangat bingung karena saya pikir Kode Morse sebenarnya adalah ternary . Anda memiliki 3 jenis 'kemungkinan': kesunyian, bunyi bip pendek atau bunyi bip panjang.
Tidak mungkin untuk mewakili Kode Morse di 'stirct binary' bukan?
Maksudnya 'binary ketat' maksud saya, pikirkan aliran biner: 1010111101010 .. Bagaimana saya bisa mewakili keheningan, bunyi bip pendek dan / atau bunyi bip panjang?
Satu-satunya cara yang dapat saya pikirkan adalah 'ukuran kata' yang diterapkan oleh komputer. Jika saya (dan CPU / juru kode) tahu bahwa itu akan membaca 8 bit setiap waktu, maka saya dapat mewakili Kode Morse. Saya hanya dapat mewakili bunyi bip pendek dengan 1 atau bunyi bip panjang dengan 0 dan diam akan secara implisit diwakili oleh panjang kata. (Katakanlah 8 bit ..) Jadi sekali lagi, saya memiliki variabel ke-3 ini / aset ke-3 dalam tanganku: ukuran kata.
Pemikiran saya seperti ini: Saya dapat memesan 3 bit pertama untuk berapa banyak bit untuk dibaca, dan terakhir 5 bit untuk kode Morse dalam kata 8bit. Seperti 00110000 berarti 'A'. Dan saya masih dalam 'biner' TETAPI saya perlu ukuran kata yang membuatnya ternary bukan? 3 bit pertama mengatakan: Baca hanya 1 bit dari 5 bit berikut.
Alih-alih biner, jika kita menggunakan trinary, kita dapat menampilkan kode morse seperti: 101021110102110222 dll. Di mana 1 adalah: dit 0 adalah: dah dan 2 adalah diam. Dengan menggunakan 222 kita dapat mengkode keheningan panjang, jadi jika Anda memiliki sinyal seperti * - * --- * - Anda dapat menampilkannya seperti: 102100022210, tetapi tidak secara langsung mungkin menggunakan hanya dengan 1 dan 0 KECUALI Anda datang dengan sesuatu seperti ukuran kata 'tetap' seperti yang saya sebutkan, tetapi ini menafsirkan, tidak menyimpan Kode Morse seperti dalam biner. Bayangkan sesuatu seperti piano, Anda hanya memiliki tombol piano. Anda ingin meninggalkan pesan dalam Kode Morse untuk seseorang dan Anda dapat melukis tombol menjadi hitam. Tidak mungkin Anda bisa meninggalkan pesan yang jelas, bukan? Anda membutuhkan setidaknya satu warna lagi sehingga Anda dapat menempatkan keheningan (yang antara karakter dan kata-kata. Inilah yang saya maksud dengan trenary.
Saya tidak bertanya apakah Anda dapat mewakili Kode Morse di 57-ary atau apa pun.
Saya telah mengirim email kepada penulis (Charles Petzold) tentang ini; dia mengatakan bahwa dia menunjukkan dalam Bab 9 dari "Kode" bahwa Kode Morse dapat diartikan sebagai kode biner.
Di mana saya salah dengan pemikiran saya? Apakah yang saya baca di buku, bahwa Kode Morse menjadi Biner fakta atau tidak? Apakah ini bisa diperdebatkan? Mengapa Kode Morse dikategorikan dalam satu halaman Wikipedia, dan juga tercantum dalam halaman Daftar Kode Biner ?
Sunting: Saya telah mengirimkan email kepada penulis dan mendapat balasan:
-----Pesan asli-----
Dari: Koray Tugay [mailto: [email protected]]
Terkirim: Selasa, 3 Maret 2015 15:16
Subjek: Apakah Kode Morse benar-benar biner?
Pak, dapatkah Anda melihat pertanyaan saya di sini: Apakah Kode Morse biner, ternary atau quinary? Quinary?
Salam, Koray Tugay
Dari: "Charles Petzold"
Kepada: "'Koray Tugay'"
Subjek: RE: Apakah Kode Morse benar-benar biner? Tanggal: 3
Mar 2015 23:04:35 EET
Menjelang akhir Bab 9 dalam "Kode" saya menunjukkan bahwa Kode Morse dapat diartikan sebagai kode biner.
-----Pesan asli-----
Dari: Koray Tugay [mailto: [email protected]]
Terkirim: Selasa, 3 Maret 2015 15:16
Subjek: Apakah Kode Morse benar-benar biner?
Pak, dapatkah Anda melihat pertanyaan saya di sini: Apakah Kode Morse biner, ternary atau quinary? Quinary?
Salam, Koray Tugay
Saya tidak menyembunyikan e-mailnya karena sangat mudah ditemukan di web.
sumber
Jawaban:
Kode morse adalah kode ternary awalan (untuk enkode 58 karakter) di atas kode biner awalan yang menyandikan tiga simbol.
Ini adalah jawaban yang jauh lebih pendek ketika diterima. Namun, mengingat kesalahpahaman yang cukup besar antara pengguna, dan mengikuti permintaan dari OP, saya menulis jawaban yang jauh lebih lama ini. Bagian "singkatnya" memberi Anda inti dari itu.
Isi
Singkatnya (besar)
Saat bertanya "Apakah Kode Morse biner, ternary atau quinary?" tidak ada yang membandingkan jawaban yang mungkin kecuali seseorang memperbaiki beberapa kriteria untuk jawaban yang dapat diterima. Memang, tanpa kriteria yang tepat, orang dapat menyusun penjelasan untuk hampir semua jenis struktur. Kriteria yang saya pilih adalah sebagai berikut:
itu harus mencerminkan deskripsi tiga lapis kode Morse dengan representasi dot / dash di tingkat kedua;
harus sesuai dengan alat presentasi dan matematika yang dikembangkan untuk analisis kode secara teoritis, sebanyak mungkin;
itu harus sesederhana mungkin;
itu harus jelas menunjukkan sifat-sifat kode Morse.
Ini dimaksudkan untuk mencegah peretasan sewenang-wenang, yang mengabaikan konsep dasar teori kode sebagaimana dipelajari secara ilmiah, dan yang mungkin memiliki daya tarik dengan memberikan ilusi analisis sistematis, meskipun ditangani terlalu informal untuk meyakinkan. Situs ini seharusnya tentang ilmu komputer , bukan pemrograman. Kita harus menggunakan minimal ilmu pengetahuan mapan dan konsep yang diterima untuk menjawab pertanyaan teknis.
Analisis cepat dari standar menunjukkan bahwa semua simbol yang digunakan dalam kode Morse pada akhirnya dikodekan dalam biner , karena ia ditransmisikan sebagai string unit dengan panjang yang sama, dengan sinyal yang dapat hidup atau mati untuk setiap unit. Ini menunjukkan bahwa pesan Morse pada akhirnya dikodekan dalam alfabet logis .Σ1= { 0 , 1 }
Tapi itu tidak mengatakan apa pun tentang struktur internal kode. Informasi yang akan dikodekan adalah string pada alfabet 58 simbol (sesuai standar) termasuk 57 karakter dan spasi. Ini sesuai dengan alfabet , symbl terakhir adalah spasi.Σ3= { A , B , ... , Z, 0 , 1 , ... , 9 , ? , = , ... , × , @ , [] }
Namun, standar menentukan bahwa ada alfabet menengah , berdasarkan dan dan mungkin simbol lainnya. Cukup jelasΣ2
dot
dash
string di harus dikodekan sebagai string di , dan Σ ∗ 2Σ∗3 Σ∗2
string di harus dikodekan sebagai string di Σ ∗ 1Σ∗2 Σ∗1
Jadi, mengingat bahwa tidak ada pilihan untuk dan , pertanyaannya harus dipahami sebagai: " Berapa jumlah simbol yang harus kita pertimbangkan dalam alfabet menengah sehingga dapat dengan baik menjelaskan struktur dan properti seluruh Morse kode, "yang juga mensyaratkan menentukan dua pengkodean antara tiga level.Σ 3 Σ 2Σ1 Σ3 Σ2
Mengingat fakta bahwa kode Morse adalah awalan homomorphic (panjang variabel) kode yang menghalangi setiap ambiguitas ketika decoding sinyal, kita bisa menjelaskan hanya properti penting ini dengan terner alfabet { , , }, dan dua skema pengkodean dari ke , dan dari ke , yang keduanya homomorfik dan awalan, dengan demikian keduanya kode yang tidak ambigu, dan dengan demikian dapat dikomposisi untuk memberikan awalan yang tidak ambigu. pengkodean 58 simbol ke dalam biner.C 3 → 2 Σ 3 Σ 2 C 2 → 1 Σ 2 Σ 1Σ2= C3 → 2 Σ3 Σ2 C2 → 1 Σ2 Σ1
dot
dash
sep
Oleh karena itu kode Morse terdiri dari kode awalan terner dinyatakan dalam alfabet , , , dengan tiga simbol-simbol ini sendiri dikodekan dalam biner dengan codeword berikut:}{ }
dot
dash
sep
dot
→ 1110 → 00dash
sep
Perhatikan bahwa apa yang dikenal sebagai ruang antara berturut-turut
dot
ataudash
sebenarnya termasuk dalam representasidot
dandash
, karena ini adalah representasi matematis biasa untuk jenis kode semacam itu, yang biasanya didefinisikan sebagai string homomorfisme dari simbol sumber ke kode sumber yang diekspresikan dengan simbol target, seperti yang baru saja saya lakukan.Ini sedikit berbeda dari beberapa presentasi yang diberikan dalam standar, yang lebih bertujuan menentukan secara intuitif kode untuk pengguna, daripada menganalisisnya untuk sifat strukturalnya. Tetapi pengkodeannya sama dalam kedua kasus.
Bahkan tanpa penetapan waktu yang tepat dari standar, decoder dari sinyal analog masih dapat menerjemahkannya ke dalam alfabet ternary yang kami sarankan, sehingga pemahaman di atas tentang kode ternary tetap valid.
Kode: poin dasar
Jawaban ini didasarkan pada Standar ITU-R M.1677-1 , tertanggal Oktober 2009 (terima kasih kepada Jason C untuk referensi). Saya akan menggunakan terminologi
dot
dandash
, bukannyadit
dandah
, karena terminologi yang digunakan oleh standar ini.Sebelum kita mulai membahas kode Morse, kita perlu menyepakati apa itu kode. Diskusi sulit tentang pertanyaan ini jelas membutuhkannya.
Pada dasarnya, informasi perlu diwakili agar dapat dikirim atau diproses. Kode adalah sistem untuk menerjemahkan informasi dari satu sistem representasi ke yang lain . Ini adalah definisi yang sangat umum. Kita harus berhati-hati untuk tidak membingungkan konsep representasi , dan bahwa kode dari satu representasi ( sumber ) ke yang lain ( target ).
Representasi dapat mengambil banyak bentuk, seperti tegangan listrik variabel, titik-titik berwarna di atas kertas, string karakter, angka, string biner 0 dan 1, dll. Penting untuk membedakan antara representasi analog dan formal (atau logis, atau abstrak) .
Representasi analog / fisik adalah gambar, level tegangan yang bervariasi, bentuk (untuk huruf).
Representasi logis / formal / abstrak adalah representasi matematis dengan grafik abstrak, string simbol, atau entitas matematika lainnya.
Meskipun beberapa informasi mungkin awalnya analog, kami biasanya mengubahnya menjadi representasi logis sehingga dapat mendefinisikan secara tepat pemrosesan dengan cara matematika, atau oleh orang-orang.
Sebaliknya, kita berurusan dengan representasi logis menggunakan perangkat fisik, seperti komputer atau pemancar, kita perlu memberikan bentuk analog ke representasi logis.
Untuk keperluan analisis ini, satu-satunya bentuk analog yang kami pertimbangkan adalah yang digunakan untuk transmisi, seperti yang dijelaskan dalam standar. Tetapi meskipun begitu, kami akan mempertimbangkan bahwa langkah pertama adalah menafsirkan representasi analog ini sebagai implementasi langsung dari representasi logis terstruktur yang identik, di mana kami membangun analisis kami tentang apa jenis kode kode Morse. Teori kode adalah badan pengetahuan matematika yang didasarkan pada analisis representasi logis.
Namun kita akan kembali pada transisi analog / logis dalam diskusi di akhir.
Kode: definisi
Pandangan logis kami adalah bahwa kode yang digunakan untuk menerjemahkan sumber string pada sumber alfabet untuk target alfabet . Sering terjadi bahwa kedua huruf identik, biasanya biner, ketika tujuannya adalah untuk menambahkan beberapa properti tambahan ke representasi informasi, seperti membuatnya lebih tahan terhadap kesalahan (deteksi dan koreksi kesalahan), atau membuat representasi lebih kecil dengan menghapus redundansi (kompresi kode lossless) dan mungkin dengan hilangnya beberapa informasi secara terkontrol (kompresi lossy).TS T
Namun, tujuan dari kode Morse adalah hanya menyediakan cara untuk merepresentasikan string pada alfabet besar, menjadi string yang didasarkan pada alfabet yang jauh lebih kecil (sebenarnya biner), menggunakan alfabet menengah hampir biner (titik dan garis) untuk lebih disesuaikan dengan manusia. persepsi dan kemampuan manipulatif. Ini dicapai dengan apa yang disebut kode panjang variabel :
Kami panggilan codeword gambar dari simbol . s ∈ SC( s ) ∈ T∗ s ∈ S
Kode panjang variabel dapat didekodekan secara unik jika homomorfisme ke bersifat injeksi . Itu berarti bahwa setiap string di dapat menjadi gambar paling banyak satu string di . Kita juga mengatakan bahwa kodenya tidak ambigu , artinya string apa pun dapat didekodekan secara pasti, jika ada.S ∗ T ∗ T ∗ S ∗C S∗ T∗ T∗ S∗
Kode panjang variabel adalah kode awalan jika tidak ada codeword yang merupakan awalan dari yang lain. Itu juga kode instan sekutu , atau kode bebas konteks . Alasan untuk nama-nama ini adalah bahwa, ketika membaca string target yang dimulai dengan codeword dari kode awalan, Anda mengenali akhir codeword segera setelah Anda membaca simbol terakhirnya, tanpa harus tahu / membaca simbol berikutnya. Sebagai akibatnya, kode awalan tidak ambigu dan sangat mudah untuk didekodekan dengan cepat.w
Mudah ditunjukkan bahwa dekodabilitas unik dan properti awalan ditutup di bawah komposisi kode.
Perhatikan bahwa definisi sebagai homomorfisme menyiratkan bahwa tidak ada pemisahan khusus antara codewords. Ini adalah struktur mereka, seperti properti awalan, yang memungkinkan mengidentifikasi mereka secara jelas.
Memang, jika ada simbol pemisahan seperti itu, mereka harus menjadi bagian dari alfabet target, karena mereka akan perlu untuk memecahkan kode string dari alfabet target. Maka akan sangat sederhana untuk kembali ke model teoritis kode panjang variabel dengan menambahkan pemisah ke kata kode sebelumnya. Jika itu meningkatkan kesulitan kontekstual (misalnya misalnya untuk beberapa pemisah), itu hanya akan menjadi petunjuk bahwa kode lebih kompleks daripada yang terlihat. Ini adalah alasan yang baik untuk tetap berpegang pada model teoritis yang dijelaskan di atas.
Kode Morse
Kode Morse dijelaskan dalam standar pada tiga tingkat:
3. itu dimaksudkan untuk menyediakan penyandian teks bahasa alami, menggunakan 57 karakter (27 huruf, 10 digit, 20 simbol dan ponctuations) dan ruang antar kata untuk memotong string karakter menjadi kata-kata. Ruang antar kata digunakan seperti karakter khusus, yang dapat dicampur dengan yang lain, yang akan saya perhatikan
SEP
.2. semua karakter ini harus dikodekan sebagai suksesi
dash
dandot
, menggunakan ruang antar huruf, yang akan saya catatsep
, untuk memisahkandash
dandot
dari satu huruf dari orang-orang dari surat berikutnya.1. The
dash
dandot
, sertasep
harus dikodekan sebagai sinyal atau tidak adanya sinyal (disebut spasi) dengan panjang tepat didefinisikan dalam hal beberapa satuan diterima. Secara khusus,dash
dandot
pengkodean surat harus dipisahkan oleh ruang antar-elemen, yang akan saya perhatikanσ
.Ini sudah membutuhkan beberapa kesimpulan.
Pesan yang akan dikirim dan diterima dalam bentuk analog adalah suksesi satuan panjang (panjang ruang atau panjang waktu), sehingga sinyal mati untuk seluruh durasi masing-masing unit sebagaimana ditentukan dalam Lampiran 1, Bagian I, bagian 2 standar :
Ini jelas merupakan penyandian analog dalam apa yang dikenal sebagai bit stream, yang secara logis dapat direpresentasikan dalam notasi biner oleh string
0
ans1
, yang merupakan singkatan dari analog on dan on .Untuk mengabstraksi isu-isu terkait dengan representasi analog, kita dapat mempertimbangkan bahwa pesan kode Morse ditransmisikan sebagai string bit, yang akan kita perhatikan dengan
0
dan1
.Oleh karena itu kutipan di atas dari standar dapat dinyatakan secara logis sebagai:
dot
diwakili oleh1
.dash
diwakili oleh111
.σ
diwakili oleh0
.sep
diwakili oleh000
.SEP
diwakili oleh0000000
.Jadi kita bisa melihat kode Morse menggunakan 5 kata kode dalam biner untuk menyandikan 5 simbol ini. Kecuali untuk fakta bahwa ini tidak cukup bagaimana sistem dijelaskan, ada beberapa lebih untuk itu, dan itu bukan cara yang paling nyaman dapat dipikirkan, dari sudut pandang naif atau matematika.
Perhatikan juga bahwa deskripsi ini ditujukan untuk orang awam, bukan spesialis teori kode. Untuk alasan itu lebih menggambarkan penampilan yang terlihat daripada struktur internal yang membenarkannya. Tidak ada alasan untuk menghalangi deskripsi lain yang kompatibel dengan yang satu ini, meskipun secara matematis lebih terstruktur, untuk menekankan sifat-sifat kode.
Tetapi pertama-tama, kita harus mencatat bahwa deskripsi lengkap kode melibatkan 3 level representasi, yang langsung dapat dikenali:
SEP
.dot
,dash
dansep
.symbols
sebagai string biner.Kita mungkin dapat mendiskusikan mengenai simbol apa yang dikodekan dalam apa, tetapi itu merupakan aspek penting dari kode Morse yang memiliki tiga level representasi ini, dengan karakter di atas,
dot
dandash
di tengah, dan bit0
dan1
di bawah .Ini menyiratkan bahwa ada dua kode, satu dari level 3 ke level 2, dan yang lainnya dari level 2 ke level 1.
Menganalisa tiga level representasi
Untuk memiliki analisis yang konsisten dari sistem pengkodean 3 tingkat ini, pertama-tama kita harus menganalisis jenis informasi apa yang relevan di setiap tingkat.
1. Bit string, menurut definisi, dan oleh kebutuhan representasi analognya, hanya terdiri dari
0
dan1
.3. Pada level teks, kita membutuhkan dan alfabet 58 simbol, termasuk 57 karakter dan ruang antar kata
SEP
. Semua 58 dari mereka harus memiliki akhirnya pengkodean biner. Tetapi, meskipun standar kode Morse menentukan 57 + 1 karakter ini, itu tidak menentukan bagaimana mereka harus digunakan untuk menyandikan informasi. Itulah peran bahasa Inggris dan bahasa alami lainnya. Kode Morse menyediakan alfabet 58 simbol kepada sistem lain, yang dengannya mereka dapat membangun beberapa kode 58-ary, tetapi kode Morse sendiri bukan kode 58-ary.2. Pada tingkat
dot
dandash
, yang kita butuhkan adalah dua simbol ini untuk mengkodekan 57 karakter, yaitu memberikan codeword untuk masing-masing sebagai stringdot
dandash
, bersama dengan beberapa pemisahsep
untuk menandai ketika satu huruf selesai, dan awal yang lain. Kami juga membutuhkan beberapa cara untuk menyandikan ruang antar kataSEP
. Kami mungkin mencoba menyediakannya secara langsung di tingkat 1, tetapi ini akan mengacaukan organisasi kode yang terstruktur.Memang, deskripsi standar mungkin benar dikritik karena melakukan hal itu. Tetapi penulis mungkin berpikir bahwa presentasi mereka akan lebih mudah dipahami oleh pengguna biasa. Juga mengikuti deskripsi tradisional kode Morse, yang ada sebelum analisis matematika.
Ini membutuhkan beberapa komentar:
pada level 3, level huruf, ruang antar huruf
sep
tidak lagi berarti. Ini cukup normal, karena tidak memiliki makna lebih di jagat raya daripada ruang yang memisahkan dua karakter tertulis di atas kertas. Adalah penting pada level 2 untuk mengenali kata sandi yang mewakili huruf-huruf itu, tetapi itu saja.sama halnya pada level 2, ruang antar-elemen
σ
tidak lagi bermakna. Itu tidak ada artinya di duniadot
dandash
, tetapi hanya diperlukan pada tingkat 1 untuk mengidentifikasi kata-kata kode biner yang mewakilidot
,dash
. Tetapi pada level 1, itu tidak dapat dibedakan dari bit0
.Jadi ruang antar-elemen
σ
tidak lagi spesial. Ini hanya satu penggunaan0
.Namun, seperti yang dijelaskan sebelumnya, jika kode akan dianalisis menggunakan pengetahuan kode panjang variabel, pemisah harus ditambahkan ke dalam codeword yang mereka ikuti, sehingga dapat mendefinisikan kode sebagai string sederhana homomorfisme.Σ∗2→ Σ∗1
Ini menyiratkan spesifikasi parsial kode berikut: dan→ →
dot
→10
dash
1110
Alfabet tingkat 2 membutuhkan setidaknya satu simbol lain, ruang antar-huruf dicatat , yang harus sesuai dengan huruf standar. Namun, definisi kode panjang variabel sebagai homomorfisme diperlukan menambahkan ruang antar-elemen untuk setiap codeword untuk dan . Oleh karena itu kita harus memiliki hanya sebagai kata sandi untuk , sehingga untuk mendapatkan akhir dari sebelumnya atau , itu membuat 3 seperti yang dipersyaratkan oleh standar. Ini selalu berhasil karena tidak ada ketentuan dalam standar untuk memiliki dua pemisah antar surat yang saling mengikuti.Σ2
sep
000
0
dot
dash
00
sep
0
dot
dash
0
Ini cukup untuk mengkodekan alfabet { , , } dengan kode homomorphic didefinisikan sebagai berikut:C 2 → 1 : Σ 2 → Σ ∗ 1Σ2= C2 → 1: Σ2→ Σ∗1
dot
dash
sep
dot
10
dash
1110
sep
00
Dan kami memiliki kejutan yang baik untuk menemukan bahwa tidak ada kata sandi adalah awalan dari yang lain. Karenanya kami memiliki kode awalan, yang tidak ambigu dan mudah didekode.
Kita sekarang dapat melanjutkan dengan cara yang sama untuk mendefinisikan kode .C3 → 2: Σ3→ Σ∗2
Standar menggunakan stringΣ3 f
dot
dandash
sebagai codeword untuk karakter dalam , dengan cara yang diberikan oleh tabel standar misalnya untuk mewakili huruf .dot
dot
dash
dot
Sekali lagi, codeword ini dipisahkan oleh spasi antar huruf. Untuk mendefinisikan kode sebagai homomorfisma, kita harus memasukkan pemisah dalam codewords, sehingga definisi homomorfisma menjadi:f→
dot
dot
dash
dot
sep
Ini berlaku untuk masing-masing dari 57 karakter dalam alfabet . Tetapi sekali lagi kita juga membutuhkan kata separator , yang, menurut standar, adalah . Pertama-tama kita perhatikan bahwa sudah 3 bit disediakan oleh kode, 2 oleh yang mengakhiri huruf terakhir kata, dan 1 oleh bit yang mengakhiri yang terakhir atau dari pengkodean huruf terakhir itu. Karenanya akhirnya harus dikodekan sebagai yang tersisa .Σ3
SEP
0000000
0
sep
0
dot
dash
SEP
0000
Tetapi untuk menghormati pendekatan berjenjang,Σ∗2
SEP
harus dikodekan dalam beberapa codeword dari . Karena biner dikodekan sebagai , maka dapat dikodekan sebagai .sep
00
SEP
sep
sep
Karenanya kita dapat menyandikan alfabet , dengan kode homomorfik didefinisikan sebagai berikut:Σ3= { A , B , ... , Z, 0 , 1 , ... , 9 , ? , = , ... , × , @ , } C3 → 2: Σ3→ Σ∗2
SEP
dot
dash
se
pdash
do
tdot
dot
sep
...dash
dash
dot
dot
sep
...dash
dash
dot
dot
dot
sep
...SEP
sep
sep
(untuk pemisah kata)Dan kami memiliki kejutan lebih lanjut untuk melihat bahwa tidak ada kata sandi adalah awalan dari yang lain. Karenanya kode juga merupakan kode awalan.C3 → 2
Karena properti awalan ditutup di bawah komposisi kode, kode Morse adalah kode awalan.CM.o r s e= C2 → 1∘ C3 → 2
Dengan demikian dapat disimpulkan bahwa kode Morse dapat dipahami, dan mudah dianalisis, sebagai komposisi awalan biner pengkodean dari 3 simbol alfabet {
dot
,dash
,sep
} menjadi alfabet biner, dan awalan pengkodean dari alfabet 58 simbol (57 karakter dan satu spasi) ke dalam 3 huruf alfabet.Komposisi itu sendiri adalah pengkodean awalan dari 58 simbol menjadi representasi biner.
Keterangan tentang analisis ini.
Selalu sulit untuk menetapkan bahwa presentasi struktur adalah yang terbaik yang dapat dihasilkan. Namun tampaknya bahwa analisis di atas memenuhi kriteria yang ditetapkan pada awal jawaban ini: kedekatan dengan definisi 3-tier, secara formal disajikan sesuai dengan teori pengkodean saat ini, kesederhanaan, dan membuktikan sifat-sifat utama kode.
Perhatikan bahwa ada gunanya mencari properti koreksi kesalahan. Kode Morse bahkan mungkin tidak mendeteksi kesalahan bit tunggal karena hanya dapat mengubah dua
dot
menjadi satudash
. Namun, itu hanya menyebabkan kesalahan lokal.Mengenai kompresi, pengkodean terner dirancang untuk kira-kira mengurangi jumlah titik dan garis, dalam jenis pendekatan Huffman coding . Tetapi dua kode yang disusun dapat dengan mudah dibuat lebih padat.
Mengenai ukuran huruf, tidak ada pilihan untuk biner dan alfabet simbol 58. Alfabet menengah dapat berisi lebih banyak simbol, tetapi apa tujuannya?
Namun, beberapa orang akan cenderung mengenali ruang
DET
di level 2, sehingga membuat kuarterner alfabet , kemudian menggunakannya langsung di level 3, dikodekan sebagai dirinya sendiri di level 2.Ini akan memenuhi definisi standar, untukC2 → 1 CM.o r s e
DET
dikodekan dalam biner sebagai0000
. Tetapi itu akan mencegah analisis dari binary encoding sebagai kode awalan, membuatnya lebih sulit untuk menunjukkan bahwa adalah kode awalan, karenanya tidak ambigu. C M o r s eMemang, pilihan seperti itu akan membuat string biner
0000
ambigu, dapat didekodekan sebagai salah satuSEP
atausep
sep
. Ambiguitas harus diselesaikan dengan aturan kontekstual yangsep
tidak dapat mengikuti dirinya sendiri, membuat formalisasi menjadi lebih kompleks.Pentingnya transisi analog ke logis.
Analisis ini sangat bergantung pada fakta bahwa penguraian sinyal on / off menjadi satuan dengan panjang yang sama menunjukkan dengan jelas representasi analog dari string biner. Selain itu, panjang dalam satuan tepat untuk analisis di atas, yang tampaknya tidak mungkin terjadi secara kebetulan (meskipun mungkin).
Namun, dari pandangan (terlalu sepintas) pada paten asli 1647 , tampaknya tidak begitu tepat, dengan kalimat-kalimat seperti (di atas halaman 2):
Orang-orang yang belakangan mengirim dengan tangan atau menerima dengan telinga juga tidak mungkin setepat itu. Memang, tinju mereka , yaitu waktu mereka, sering dikenali. Pandangan ini juga didukung oleh fakta bahwa panjang spasi tidak selalu dihormati , terutama ketika mempelajari kode Morse.
Situasi ini sesuai dengan tampilan analog kode sebagai sinyal pendek (titik), sinyal menengah (tanda hubung), dan jeda pendek, sedang dan panjang. Transposisi langsung ke alfabet logis secara alami akan memberikan alfabet kueri , di mana 58 simbol harus dikodekan. Ini tentu saja bukan lagi presentasi 3-tingkat dari kode Morse.
Namun, untuk masuk akal (dan mungkin menghindari ambiguitas), alfabet ini harus digunakan dengan kendala bahwa dua simbol sinyal (
dot
ataudash
) tidak dapat saling mengikuti, dan bahwa simbol jeda tidak dapat saling mengikuti. Analisis kode dan sifat-sifatnya akan dibuat lebih kompleks, dan cara alami untuk menyederhanakannya adalah dengan melakukan apa yang dilakukan: memperkenalkan penentuan waktu yang tepat untuk mengubahnya menjadi komposisi dua kode, yang mengarah ke analisis yang cukup sederhana yang diberikan di atas ( ingat bahwa itu termasuk menunjukkan kode awalan).Selain itu, tidak sepenuhnya diperlukan untuk mengikuti pengaturan waktu yang tepat dalam representasi analog. Karena decoder dari terjemahan analog dapat membedakan jeda pendek, sedang dan panjang, dengan cara apa pun, seharusnya hanya meniru apa yang dilakukan dalam kasus biner. Karenanya sinyal pendek dan sedang (harus diikuti dengan jeda) diakui sebagai logis
dot
ataudash
. Jeda singkat dilupakan, karena hanya melayani untuk menandai akhirdot
ataudash
. Jeda sedang diakui sebagaisep
, dan jeda panjang diakui sebagai duasep
berturut-turut. Karenanya sinyal analog direpresentasikan dalam alfabet terner, yang dapat digunakan seperti sebelumnya untuk mengkodekan 58 simbol alfabet. Analisis awal kami dapat digunakan bahkan ketika timing tidak dihormati dengan ketat.Sebagai alternatif, alternatif jeda sinyal dapat digunakan untuk mengubah alfabet kueri ini menjadi alfabet ternary, hanya mempertahankan tiga durasi sebagai simbol alfabet, dan menggunakan analisis kontekstual untuk menentukan apakah durasi yang diberikan adalah sinyal atau jeda. Tetapi sekali lagi ini agak rumit untuk dianalisis.
Ini hanya menunjukkan bahwa ada banyak cara untuk melihat sesuatu, tetapi mereka belum tentu nyaman, dan mungkin tidak semua mudah meminjamkan diri untuk dianalisis dengan alat matematika yang telah dikembangkan untuk menganalisis kode.
Lebih banyak referensi tentang paten dapat ditemukan di Internet.
Kesimpulan
Mengingat ketepatan waktu standar, jawaban yang baik tampaknya mempertimbangkan kode Morse sebagai komposisi pengkodean awalan ternary (dari 58 karakter) menjadi alfabet 3 simbol, yang disusun dengan pengkodean awalan biner dari ketiga simbol ini.
Tanpa ketepatan waktu standar, tingkat biner tidak dapat lagi dipertimbangkan. Kemudian decoding analog ke logis terjadi secara alami pada tingkat alfabet menengah
dot
dandash
. Namun, dekoder analog ke logis dapat tetap mendekodekan ke 3 simbol alfabet sebelumnya, sehingga menjaga penerapan analisis kami.sumber
Jawaban ini tidak sepanjang yang terlihat; situs ini hanya menempatkan banyak jarak antar item daftar! Pembaruan: Sebenarnya sudah cukup lama ...
Kode Morse bukan "secara resmi" biner, ternary, kuartener, quinary, atau bahkan 57-ary (jika saya hitung dengan benar). Berdebat tentang yang mana itu tanpa konteks tidak produktif. Terserah Anda untuk menentukan yang mana dari lima itu berdasarkan aplikasi Anda dan persyaratan pengkodean untuk situasi spesifik Anda . Untuk itu, ada pro dan kontra untuk setiap ukuran set simbol, yang harus Anda pertimbangkan untuk situasi Anda sebelum membuat keputusan.
Sebagai dasar, M.1677 , standar Kode Morse internasional, bagian 2, mendefinisikan timing sebagai:
Perhatikan bahwa yang menentukan timing saja, misalnya tanda hubung tidak berarti hal yang sama dengan tiga titik, itu hanya panjang yang sama. Unit dasar waktu adalah sebuah titik.
Biner
Kita dapat memilih biner jika kita mau. Dimungkinkan untuk mewakili Kode Morse dengan "binary ketat", seperti yang Anda sebut - pendekatan penulis adalah untuk menetapkan digit ke "titik" dan "tanda hubung". Pendekatan itu tidak berhasil dan saya tidak berpikir penulis memiliki pemahaman yang kuat tentang kode Morse. Tetapi ada pendekatan berbeda yang berhasil. Jika kita memilih biner, pada dasarnya kita merepresentasikan apakah sinyalnya tinggi atau rendah dengan masing-masing simbol menempati satu irisan waktu yang panjang titik. Perhatikan bahwa ini juga merupakan pendekatan yang dijelaskan pada halaman Daftar Kode Biner yang Anda kutip.
Pengodean biner lainnya dapat dipilih juga (mis . Jawaban Bob Jarvis ) dengan mengorbankan peningkatan kesulitan pengodean kembali ke Kode Morse yang dapat didengar (Pengodean Bob tidak dapat didekodekan secara stateless, misalnya, pengorbanannya memberikan urutan pengodean yang lebih pendek).
Simbol:
Contoh Pengodean:
Pro:
Cons:
Ternary
Dengan pilihan ini, kami mendefinisikan jarak huruf dan kata sebagai sandaran, dan jarak sinyal adalah implisit (meskipun Anda bisa memilih untuk memerlukan simbol titik panjang tanda titik di antara sinyal, jika itu lebih cocok untuk Anda).
Simbol:
Contoh Pengodean:
Pro:
Cons:
Kuarter
Simbol:
Contoh Pengodean:
Pro:
Cons:
Yg terdiri dr lima bagian
Interpretasi langsung dari daftar Wikipedia. Catatan ini sangat mirip dengan pilihan biner kecuali berbagai kombinasi yang valid dari biner 0 atau 1 diberikan simbolnya sendiri.
Simbol:
Contoh pengodean:
Pro (dibandingkan dengan kuartener):
Kontra (dibandingkan dengan kuartener):
57-ary:
Termasuk untuk kelengkapan.
Simbol:
Contoh Pengodean:
son
is a
Pro:
Cons:
Penghentian
Untuk penyimpanan sebagai aliran simbol pada perangkat, jika Anda perlu melakukan itu, perlu dicatat bahwa M.1677 mendefinisikan urutan penghentian pesan dan transmisi. Dari Bagian II:
Sayangnya, standar tersebut diam pada kemampuan untuk membedakan misalnya string "+ K" dari urutan ( akhir telegram , undangan untuk mengirim ). Namun, akhir pekerjaan itu unik. Jika Anda menyimpan kode morse, Anda harus menentukan bagaimana Anda ingin menunjukkan akhir dari urutan yang disimpan.
Jika Anda menyimpan seluruh percakapan, misalnya, dan menggunakan set simbol biner, Anda dapat mempertimbangkan akhir pekerjaan sebagai akhir indikator urutan, direpresentasikan sebagai urutan bit unik 101010111010111. Anda perlu mempertimbangkan jenisnya data yang Anda simpan (mis. fragmen pesan, seluruh pesan, seluruh percakapan) serta fasilitas yang ditawarkan kepada Anda oleh media penyimpanan Anda (mis. kemampuan untuk awalan dengan panjang pesan) sebelum memutuskan. Saya kira Anda bisa menentukan indikator urutan akhir Anda sendiri. Bagaimanapun, ini semua adalah masalah penyimpanan yang mendasarinya dan memiliki terlalu banyak kemungkinan untuk dicantumkan di sini. Pilihannya benar-benar terserah Anda berdasarkan pada apa pun yang sesuai untuk situasi Anda.
† Tidak dapat didekodekan secara stateless: Pengkodean ini membutuhkan beberapa kondisi untuk dijaga agar dapat diterjemahkan ke dalam Kode Morse yang terdengar. Mereka semua membutuhkan "Jika simbol sebelumnya adalah titik / dasbor dan simbol saat ini adalah titik / dasbor kemudian masukkan pemisah sinyal". Meskipun Anda dapat mencoba dan "menipu" dan secara otomatis menambahkan pemisah sinyal ke semua simbol sambil mengurangi pemisah kata menjadi 5 sandaran dan pemisah huruf menjadi 1, M.1677 afaict tidak secara eksplisit melarang pemisah kata berturut-turut, yang memecah kludge ini.
‡ Pemisah sinyal tersirat: Ini terkait langsung dengan catatan di atas tetapi lebih berorientasi semantik. Pengkodean ini memiliki pemisah sinyal implisit dalam notasi mereka. Yaitu "zzz" secara intuitif tiga z yang terpisah, batas-batasnya "dibonceng" pada apa pun yang memisahkan simbol dalam pengkodean itu sendiri. Pertimbangkan deskripsi "tiga titik berturut-turut"; secara intuitif kita menganggap ini berarti tiga terpisahtitik, tetapi jika pemisah tidak tersirat ini bisa dianggap tidak bisa dibedakan dari tanda hubung. Hanya representasi biner dan kueri gaya Wikipedia (atau terner dengan opsi pemisah sinyal eksplisit) yang menghapus semua ambiguitas dan "pintasan" di sini, yang dapat bernilai tinggi tergantung pada situasinya. Karena alasan inilah maka ada argumen kuat untuk pilihan quinary.
TL; DR:
Seperti yang Anda lihat, ada kelebihan dan kekurangan untuk masing-masing, dan terserah Anda untuk memutuskan bagaimana Anda ingin memperlakukannya berdasarkan kebutuhan Anda . Tidak ada jawaban yang benar. Anda dapat mencoba untuk berargumen bahwa yang satu lebih tepat daripada yang lain pada umumnya, tetapi argumen ini akan mengarah pada preferensi yang berlebihan, karena tanpa konteks, tidak ada jawaban yang benar.
Sekarang, semua yang mengatakan, menurut pendapat saya sendiri, pilihan kueri adalah representasi yang terasa paling "tepat" bagi saya untuk Kode Morse itu sendiri (awalnya saya lebih disukai kuartener). Ini adalah satu-satunya pilihan yang menyediakan semua hal berikut:
{ dot, dot, dash }
, itu,
penting dan mudah untuk diabaikan).Namun, ada argumen kuat untuk semua. Argumen yang terkait dengan pengkodean juga berlaku untuk pengobatan Morse itu sendiri. Tidak ada jawaban 100% yang konkret, tetapi pasti bisa menjadi topik yang bagus untuk diperdebatkan dengan teman-teman Anda di bar.
. . . -. -
sumber
Terlepas dari pemikiran awal saya tentang ini, ternyata pertanyaan ini dapat diformalkan dengan cara yang mengakui jawaban yang cukup tepat (modulo beberapa masalah definisi). Jawabannya ternyata 3 atau 4, yaitu ternary atau kuaterner. Jawaban "semuanya berjalan dari 2 hingga 57" benar hanya dalam arti bahwa jika seseorang meminta Anda untuk karakterisasi kelompok abelian, Anda memberi tahu dia bahwa mereka set.
Mari kita mulai dengan melihat pengkodean fisik untuk kode Morse. Itu sebenarnya B ASK , yaitu penguncian amplitudo-shift biner, yang merupakan cara rumit untuk mengatakan ada dua tingkat amplitudo fisik (listrik / optik dll.) Bagi kita untuk menyandikan pesan kita. Jadi, pertanyaan segera adalah: bukankah ini berarti jawaban itu adalah bahwa kode Morse adalah biner? Yah, ini biner hanya dengan cara yang agak tidak informatif, dalam arti bahwa sinyal nyala / mati biner yang dikirim melalui kabel tidak berhubungan langsung dengan garis atau titik. Pada tingkat korespondensi yang tidak jelas ini, kita bahkan dapat mengirim kode ASCII (dengan penyandian bit langsung dan jelas) dan menyebutnya "Morse" dan / atau "binary"; hal yang sama berlaku untuk kode Huffman (bukan ASCII).
just-dot
just-line
unit-space
letter-space
word-space
unit-space
just-dot
just-line
just-dot
just-line
dit
=just-dot
unit-space
= 10 dandah
=just-line
unit-space
= 1110.Jadi itulah kuaterner kode Morse:
dit
,dah
,letter-space
,word-space
. Pengamatan selanjutnya adalah bahwaword-space
dapat diperkirakan (atau bahkan dianggap) dualetter-space
s, yaitu enam nol. Jadi, begitulah cara Anda mendapatkan kode kata sandi ternary; Sebagai referensi untuk alur penalaran ini, lihat misalnya [1] [2] .word-space
.dit
dah
letter-space
letter-space
just-line
just-dot
unit-space
dit
dah
Anda juga dapat menggunakan pendekatan trit untuk menghitung entropi dengan asumsi a
dah
dandit
danletter-space
"setara" sebagai trit [3] , dalam arti bahwa — misalnya —'e 'membutuhkan 2 trit dan' y 'mengambil 5 trit. Pendekatan abstrak trit tidak begitu berguna jika Anda peduli tentang seberapa mahal setiap simbol untuk benar-benar mentransmisikan dalam pengkodean BASK Morse nyata pada suatu garis. Untuk yang terakhir, Anda harus turun ke panjang bit nyata dari 3 (atau 4) simbol, yang dipandang sama seperti transisi dalam otomat. Misalnya huruf 'e' membutuhkan 5 bit untuk menyandikan (asdit
letter-space
) sementara 'y' membutuhkan 17 bit (tigadah
s, satudit
dan aletter-space
). Garis pemikiran ini kembali ke Shannon (lihat hal. 3-4). Rincian lebih lanjut dapat ditemukandalam "Teori Informasi dan Pengkodean" Blahut , misalnya ia menghitung "rata-rata 9.296 unit waktu pensinyalan per huruf keluaran sumber" untuk kode Morse menggunakan probabilitas kejadian huruf tanpa syarat dalam bahasa Inggris. Untuk eksposisi yang sedikit berbeda (oleh ahli zoologi!) Anda bisa melihat JP Hailman ; dia mendapatkan rata-rata yang berbeda (10.2) karena dia mengasumsikan probabilitas yang sedikit berbeda untuk huruf bahasa Inggris, tetapi sebaliknya analisisnya secara konseptual sama.Untuk meringkas ini: Anda dapat mengambil beberapa tampilan kode Morse, tetapi beberapa lebih bermanfaat daripada yang lain dalam mengatakan sesuatu yang menarik tentang hal itu. Saya tidak mengetahui adanya analisis yang menggunakan tampilan "quinary" dan agar model ini tidak dapat direduksi menjadi empat simbol, Anda harus membuat beberapa asumsi tentang terjadinya unit-ruang yang tidak memiliki Morse yang sebenarnya. , mis. Anda dapat memiliki dua tetapi tidak harus tiga unit-ruang yang berdekatan (yang merupakan Morse tidak valid). Tampilan ternary memberi Anda analisis cepat dari dekodabilitas unik. Pandangan paling dalam / berbuah adalah orang yang melihat 3 atau 4 simbol sebagai benar-benar diwakili oleh jumlah bit yang tidak sama karena mereka berada dalam kode Morse nyata (|
dit
| = 2, |dah
| = 4, |letter-space
| = 3 dan |word-space
| = 6 atau 7); itu masih berwawasan luas di tingkat rendah ini untuk mempertimbangkan simbol ternary / kuartener sebagai transisi dalam otomat.Mengapa Wikipedia menyebalkan ini ... baik pada beberapa topik yang dilakukannya. Artikel utama mereka di http://en.wikipedia.org/wiki/Coding_theory juga bukan sesuatu yang saya rekomendasikan untuk dibaca. Saya tidak bisa mengatakan banyak tentang buku (Petzold) yang Anda sebutkan selain itu tidak ditulis oleh seorang pakar teori informasi. Petzold benar hanya dalam arti bahwa jika pesan berkode Morse hanya terdiri dari satu huruf, Anda dapat mengatakannya dalam beberapa kode biner; jika Anda ingin mengirim kata-kata, Anda memerlukan pemisah surat, jika tidak kodenya bukan UD, sehingga tidak praktis.
letter-space
letter-space
dit
dah
letter-space
sumber
Awalnya kode Morse dimaksudkan untuk menjadi tanda tertulis pada selembar kertas, tetapi operator telegraf segera bisa "membaca" klik peralatan. Versi Morse ini (Morse Amerika atau "tanah") memiliki tiga elemen "tanda", titik, tanda hubung, dan tanda hubung panjang.
Penggunaan Morse Internasional selama abad terakhir, melalui transmisi radio, biasanya dikodekan dengan tangan (pada kunci telegraf) dan diterjemahkan dengan telinga, dengan mendengarkan pola bunyi bip yang dihasilkan oleh penerima. Operator yang terampil dapat menerima lebih baik daripada yang tidak terampil, dan beberapa orang dapat menghasilkan kode yang lebih mudah dipahami daripada yang lain. Operator transmisi yang baik dikatakan memiliki "kepalan tangan yang baik." Operator yang tidak kompeten disebut LID. (Untuk asal "tutup" - yang saya percaya berasal dari kesalahan umum di Morse Amerika mengirim LID untuk DD, daaahh, dit dit, dah dit dit sebagai ganti dah dit dit, dah dit dit - lihat referensi ini: https://english.stackexchange.com/questions/31818/how-did-the-word-lid-come-to-mean-poor-operator-in-the-context-of-telegraph .)
Karena itu, "penyandian" Morse ke dalam format biner bergantung pada tujuannya, dan dengan demikian apakah kualitas "kepalan baik" versus "kepalan tangan miskin" harus dipertahankan. Apakah string switching on-and-off dicocokkan dengan jam dan "dikoreksi" untuk kesulitan dalam fase atau durasi setiap bagian dari sinyal? Atau apakah sampel diambil dengan kecepatan yang cukup untuk mempertahankan variasi acak atau membingungkan, mungkin untuk inspeksi atau kesenangan nanti?
sumber