Nick VA3NNW's KWARC CDMA talk
In Jan 2010, I gave a talk to KWARC
about CDMA - Code Division Multiple Access. In September 2019 I
updated and extended it a bit for
Elmira Radio Club's Ham Tech
Seminar.
The talk is © Copyright 2010-2019 "Nosey" Nick Waterman VA3NNW
but is free for radio hams to present to other radio hams. Please let
me know if you DO use it for this purpose (because I'm nosey and
like to know who uses my stuff), or please ask my permission if you
wish to use it for any other purpose (because that's the point
of the copyright).
It can be downloaded here:
- CDMA.odp (1MB LibreOffice/OpenOffice Presentation)
- the actual presentation
- CDMA.ppt (1.8MB Micro$oft Office PowerPoint)
- but might not be properly converted, and c'mon, seriously, look at
the file size, who still uses M$ Office?!?
- CDMA.pdf (1MB Portable Document Format)
- without animation/sound but contains all the content
- CDMA_WS.ods (38KB Libre/OpenOffice Spreadsheet)
- the worksheets used by each side of the room to "transmit" CDMA to
be "received" by the other side of the room. Also contains a sheet of
graphs, and has a few hidden calculations if you want to play with
CDMA signals yourself.
- CDMA_WS.xls (70KB Micro$oft Excel Spreadsheet)
- but seriously, see above
Some other files I used to make the presentation
You're unlikely to want these unless you wanted to rewrite the
presentation yourself, but they can be downloaded subject to the same
copyright as above
- CDMA1.ods
- another spreadsheet to play with CDMA
- CDMA2.ods
- another spreadsheet to play with CDMA
- Makefile
- runs the programs below to create some of the charts and graphs
- cp.pl
- to make the code plots
- qso.pl
- helps to make example QSOs used in ftdma2.gnuplot
- cp.gnuplot
fp.gnuplot
ft.gnuplot
head.gnuplot
- used to create many of the diagrams below
- vis-example.pl
- to make the images used by...
- demo.html
- a live interactive demo added for the 2019 version of the
talk, where you can "tune" over the codes looking for the right codes
and timing!
To use the demo...
-
There are at least 3 vertical copies and 2
horizontal copies of "the band" to be received/decoded. Choose "s" at
the top, and demonstrate that you can drag the "secret decoder ring"
across the band and use it to pull the already almost-visible "sync
pulses" (squares) out of the noise.
-
Now turn "s" off and select "sync", and demonstrate how you can see 2
sets of sync pulses. Your job is to line them us as best you can to be
perfectly synchronised with the code.
-
Next, leave "sync" on, and also choose "a". When "sync" and "a" are
lined up, or even in several other places, you should be able to see my
callsign VA3NNW in the "second decoder".
-
Leave "sync" and "a" on, but also add "b". Effectively using 3
receivers now, you should be able to "tune" my callsign and also see a
pattern of blocks. In this pattern is another secret message, but only
the person with the correct "long code" - c - can decode it.
-
Turn off "b". Leave "sync" and "a" on, but also turn on "bc". This is
a combination of "spreading code" b and "long code" c to make bc. It's
going to be quite tricky to perfectly line the signals up this time,
but having done so, by trying to make the "sync pulse" squares vanish,
you should see my callsign, and the special secret doubly-encoded
message that provides the grand finale for the presentation!
... and the rest of the images used in the presentation...
ft_fdma
(Made from ft_fdma.gnuplot)
ft_tdma
(Made from ft_tdma.gnuplot)
ft_ftdma1
(Made from ft_ftdma1.gnuplot)
ft_ftdma2
(Made from ft_ftdma2.gnuplot)
ft_blank
(Made from ft_blank.gnuplot)
ft_cdma1
(Made from ft_cdma1.gnuplot)
ft_cdma2
(Made from ft_cdma2.gnuplot)
ft_cdma3
(Made from ft_cdma3.gnuplot)
fp_blank
(Made from fp_blank.gnuplot)
fp_voice
(Made from fp_voice.gnuplot)
fp_carrier
(Made from fp_carrier.gnuplot)
fp_am
(Made from fp_am.gnuplot)
fp_ssb
(Made from fp_ssb.gnuplot)
fp_sig
(Made from fp_sig.gnuplot)
fp_code
(Made from fp_code.gnuplot)
fp_cdma
(Made from fp_cdma.gnuplot)
fp_cdma_low
(Made from fp_cdma_low.gnuplot)
fp_cdma_noise
(Made from fp_cdma_noise.gnuplot)
cp_data
cp_1code
cp_code
cp_sig
cp_dec
cp_wrong
cp_wrdec
(Made from cp_wrdec.gnuplot)
vis_s
vis_a
vis_b
vis_c
vis_bc
vis_rx
vis_sdec
vis_adec
vis_bdec
vis_ss
ssb_txrx
(Made from ssb_txrx.dia)
cdma_txrx
(Made from cdma_txrx.dia)
cdma_txrx2
(Made from cdma_txrx2.dia)
cdma_txrx3
(Made from cdma_txrx3.dia)
cdma_txrx4
(Made from cdma_txrx4.dia)
cdma_txrx5
(Made from cdma_txrx5.dia)
cdma_tx
(Made from cdma_tx.dia)