From ae32b00d0e6314be5517e8d815268670e61fc048 Mon Sep 17 00:00:00 2001 From: DC6GF Date: Thu, 26 Feb 2026 08:30:47 +0100 Subject: [PATCH 1/3] Rename unit Bit from b to Bit to be in line with the official questions --- assets/latex.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/latex.js b/assets/latex.js index 00b5a3e..3fbb3b6 100644 --- a/assets/latex.js +++ b/assets/latex.js @@ -142,7 +142,7 @@ document.addEventListener("DOMContentLoaded", function() { "\\Ohm": "\\Omega", "\\weber": "\\text{Wb}", "\\tesla": "\\text{T}", - "\\bit": "\\text{b}", + "\\bit": "\\text{Bit}", "\\baud": "\\text{Bd}", "\\degreeCelsius": "\\,\\degree\\text{C}", "\\liter": "\\text{l}", From b271bebec92cd0fcd9d8cc255620ccbf14e430f9 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sat, 28 Feb 2026 22:40:42 +0100 Subject: [PATCH 2/3] feature: add sourcecoder, channelcoder and mapper --- latex/settings.tex | 85 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/latex/settings.tex b/latex/settings.tex index a45482b..1310043 100644 --- a/latex/settings.tex +++ b/latex/settings.tex @@ -1063,3 +1063,88 @@ \circuitikzbasekey/bipole/is voltageoutsideofsymbol=true} \makeatother + + + +% Channel Coder +\makeatletter +\ctikzset{bipoles/channelcoder/width/.initial=.7} + +\pgfcirc@define@twoports{blocks} +{} +{\ctikzvalof{bipoles/channelcoder/width}} +{channelcoder} +{\ctikzvalof{bipoles/channelcoder/width}} +{\ctikzvalof{bipoles/channelcoder/width}} +{ + \pgfcirc@twoport@draw@splitline + % + \pgf@circ@text@strokecolor + \pgftext[center,x=0.55\pgf@circ@res@left,y=0.6\pgf@circ@res@up]{\tiny 01} + \pgftext[center,x=0.30\pgf@circ@res@right,y=0.6\pgf@circ@res@down]{\tiny 01+01} +} + +\pgfcirc@activate@bipole@simple{l}{channelcoder} +\makeatother + +% Source Coder +\makeatletter +\ctikzset{bipoles/sourcecoder/width/.initial=.7} + +\pgfcirc@define@twoports{blocks} +{} +{\ctikzvalof{bipoles/sourcecoder/width}} +{sourcecoder} +{\ctikzvalof{bipoles/sourcecoder/width}} +{\ctikzvalof{bipoles/sourcecoder/width}} +{ + \pgfcirc@twoport@draw@splitline + % + \pgf@circ@text@strokecolor + \pgftext[center,x=0.30\pgf@circ@res@left,y=0.6\pgf@circ@res@up]{\tiny 0101} + \pgftext[center,x=0.55\pgf@circ@res@right,y=0.6\pgf@circ@res@down]{\tiny 01} +} + +\pgfcirc@activate@bipole@simple{l}{sourcecoder} +\makeatother + +% Mapper +\makeatletter +\ctikzset{bipoles/mapper/width/.initial=.7} + +\pgfcirc@define@twoports{blocks} +{} +{\ctikzvalof{bipoles/mapper/width}} +{mapper} +{\ctikzvalof{bipoles/mapper/width}} +{\ctikzvalof{bipoles/mapper/width}} +{ + \pgfcirc@twoport@draw@splitline + % + \pgf@circ@text@strokecolor + \pgftext[center,x=0.55\pgf@circ@res@left,y=0.6\pgf@circ@res@up]{\tiny 01} + % + \pgfpathmoveto{\pgfpoint{0.50\pgf@circ@res@right}{-0.25\pgf@circ@res@up}} + \pgfpathlineto{\pgfpoint{0.50\pgf@circ@res@right}{-0.75\pgf@circ@res@up}} + \pgfusepath{draw} + % + \pgfpathmoveto{\pgfpoint{0.25\pgf@circ@res@right}{-0.50\pgf@circ@res@up}} + \pgfpathlineto{\pgfpoint{0.75\pgf@circ@res@right}{-0.50\pgf@circ@res@up}} + \pgfusepath{draw} + % + \pgfpathcircle{\pgfpoint{0.65\pgf@circ@res@right}{-0.65\pgf@circ@res@up}}{0.05\pgf@circ@res@up} + \pgfusepath{fill} + % + \pgfpathcircle{\pgfpoint{0.35\pgf@circ@res@right}{-0.65\pgf@circ@res@up}}{0.05\pgf@circ@res@up} + \pgfusepath{fill} + % + \pgfpathcircle{\pgfpoint{0.65\pgf@circ@res@right}{-0.35\pgf@circ@res@up}}{0.05\pgf@circ@res@up} + \pgfusepath{fill} + % + \pgfpathcircle{\pgfpoint{0.35\pgf@circ@res@right}{-0.35\pgf@circ@res@up}}{0.05\pgf@circ@res@up} + \pgfusepath{fill} + % +} + +\pgfcirc@activate@bipole@simple{l}{mapper} +\makeatother \ No newline at end of file From 5f6b0e76823a33c1fbc7002ad71e58d92838c6ac Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sat, 28 Feb 2026 23:39:47 +0100 Subject: [PATCH 3/3] feature: add also decoder and demapper --- latex/settings.tex | 84 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/latex/settings.tex b/latex/settings.tex index 1310043..4bfe1e3 100644 --- a/latex/settings.tex +++ b/latex/settings.tex @@ -1087,6 +1087,28 @@ \pgfcirc@activate@bipole@simple{l}{channelcoder} \makeatother +% Channel Decoder +\makeatletter +\ctikzset{bipoles/channeldecoder/width/.initial=.7} + +\pgfcirc@define@twoports{blocks} +{} +{\ctikzvalof{bipoles/channeldecoder/width}} +{channeldecoder} +{\ctikzvalof{bipoles/channeldecoder/width}} +{\ctikzvalof{bipoles/channeldecoder/width}} +{ + \pgfcirc@twoport@draw@splitline + % + \pgf@circ@text@strokecolor + \pgftext[center,x=0.25\pgf@circ@res@left,y=0.6\pgf@circ@res@up]{\tiny 01+01} + \pgftext[center,x=0.55\pgf@circ@res@right,y=0.6\pgf@circ@res@down]{\tiny 01} +} + +\pgfcirc@activate@bipole@simple{l}{channeldecoder} +\makeatother + + % Source Coder \makeatletter \ctikzset{bipoles/sourcecoder/width/.initial=.7} @@ -1108,6 +1130,27 @@ \pgfcirc@activate@bipole@simple{l}{sourcecoder} \makeatother +% Source Decoder +\makeatletter +\ctikzset{bipoles/sourcedecoder/width/.initial=.7} + +\pgfcirc@define@twoports{blocks} +{} +{\ctikzvalof{bipoles/sourcedecoder/width}} +{sourcedecoder} +{\ctikzvalof{bipoles/sourcedecoder/width}} +{\ctikzvalof{bipoles/sourcedecoder/width}} +{ + \pgfcirc@twoport@draw@splitline + % + \pgf@circ@text@strokecolor + \pgftext[center,x=0.55\pgf@circ@res@left,y=0.6\pgf@circ@res@up]{\tiny 01} + \pgftext[center,x=0.30\pgf@circ@res@right,y=0.6\pgf@circ@res@down]{\tiny 0101} +} + +\pgfcirc@activate@bipole@simple{l}{sourcedecoder} +\makeatother + % Mapper \makeatletter \ctikzset{bipoles/mapper/width/.initial=.7} @@ -1147,4 +1190,45 @@ } \pgfcirc@activate@bipole@simple{l}{mapper} +\makeatother + +% Demapper +\makeatletter +\ctikzset{bipoles/demapper/width/.initial=.7} + +\pgfcirc@define@twoports{blocks} +{} +{\ctikzvalof{bipoles/demapper/width}} +{demapper} +{\ctikzvalof{bipoles/demapper/width}} +{\ctikzvalof{bipoles/demapper/width}} +{ + \pgfcirc@twoport@draw@splitline + % + \pgf@circ@text@strokecolor + % + \pgfpathmoveto{\pgfpoint{0.50\pgf@circ@res@left}{+0.25\pgf@circ@res@up}} + \pgfpathlineto{\pgfpoint{0.50\pgf@circ@res@left}{+0.75\pgf@circ@res@up}} + \pgfusepath{draw} + % + \pgfpathmoveto{\pgfpoint{0.25\pgf@circ@res@left}{+0.50\pgf@circ@res@up}} + \pgfpathlineto{\pgfpoint{0.75\pgf@circ@res@left}{+0.50\pgf@circ@res@up}} + \pgfusepath{draw} + % + \pgfpathcircle{\pgfpoint{0.65\pgf@circ@res@left}{+0.65\pgf@circ@res@up}}{0.05\pgf@circ@res@up} + \pgfusepath{fill} + % + \pgfpathcircle{\pgfpoint{0.35\pgf@circ@res@left}{+0.65\pgf@circ@res@up}}{0.05\pgf@circ@res@up} + \pgfusepath{fill} + % + \pgfpathcircle{\pgfpoint{0.65\pgf@circ@res@left}{+0.35\pgf@circ@res@up}}{0.05\pgf@circ@res@up} + \pgfusepath{fill} + % + \pgfpathcircle{\pgfpoint{0.35\pgf@circ@res@left}{+0.35\pgf@circ@res@up}}{0.05\pgf@circ@res@up} + \pgfusepath{fill} + % + \pgftext[center,x=0.55\pgf@circ@res@right,y=-0.6\pgf@circ@res@up]{\tiny 01} +} + +\pgfcirc@activate@bipole@simple{l}{demapper} \makeatother \ No newline at end of file