Dave's Lecture Demos: Known Bugs and Requested Features

An informal list of the things that I know need some work.  If you find any strange behaviour not on this list, please write and let me.
Also, if you've got any ideas for improvements or requests for additional features not listed below, please let me know.

Dave's Analogue Modulation Demo
    Could I add a more realistic speech-like waveform to transmit, not just single frequency or white noise?
    How about adding a SSB mode?
    Could perhaps freeze the vertical scale re-adjustment when memory is on?
Dave's Baseband Modulation Demo
    When I get time, I'll normalise things to the real Eb, rather than a maximum peak power.  That will allow the BERs to be representative of the real Eb/N0 ratio.
Dave's Bridgeing Demo
Dave's Channel Demo
    The way the rays are switched on and moved is not intuitive. Perhaps a double click to turn on, and a single click to drag might be easier.
    The program should randomise the phases of the rays arriving as well. Then plot the eye-diagram of the phase of the ray the with the highest receive power, perhaps?
Dave's Complex Numbers Demo
Dave's CRC Demo
    Add some instructions, and a better way to show that the calculation is over.
Dave's Dice Demo
Dave's Doppler Demo
Dave's Flow Control Demo
    Sometimes the packet traces do not redraw on the wire trace windows.  Not sure why this is... still investigating.  If this happens, just re-size or re-scale the window, and it'll re-draw itself.
    It would be nice to add delayed ACKs back in (I think the code to do these is in there somewhere).
    Add a variation on go-back-N whereby it only transmits one packet when loss is detected, not an entire window
Dave's IP Quiz Demo
Dave's Multiple Access Demo
    Currently this one gets the statistics wrong - in particular the utilisation seems be low, and decrease with time.
    Note - there is some packet loss even with the CTS/RTS mode.  This is not a bug.  It's just that in the universe of this simulation, the packets are very short, and the speed of the light is very, very slow, and in these circumstances CTS/RTS doesn't always work.  (Actually, even in real life RTS/CTS doesn't prevent all packets colliding.)
Dave's Markov Chain Demo
Dave's Parity/Checksum/CRC Demo
Dave's Passband Modulation Demo
    I wonder if the OFDM should have zero as the frequency of the central sub-carrier, or the first one?
    For modulation schemes with more than one bit per symbol, the I and Q graphs don't seem synchronised with the data graph.
    Something needs to be sorted out about receiving OFDM.  At the moment, it's only the transmitter than works.
Dave's Protocol Layers Demo
    It might be good to have an option of having the LLC as well as ARP in the TCP/IP model?
Dave's Propagation Demos
    The polarisation should have a mode whereby it shows how much signal is received by a linearly-polarised receiver
Dave's Queueing Demo
Dave's Refraction Demo
    It would be nice to calculate the diffraction loss.
Dave's Routeing Demo
    Add an SPF mode.
    Probably better not to allow a subnetwork to send packets to itself via the router, certainly in auto mode.  This is very unlikely to happen in practice, and might be confusing?
Dave's Switching Demo
    There's some inconsistency in the times - can I make these more consistent, so a packet 100 bits long over a 1 bit/s link with a delay of 100 starts to arrive just as it finishes leaving?
Dave's Sudoku Solver
Dave's Windows Demo
    There might be an issue with some of the messages: sometimes the transmitter shows the window size rather than the flight size.
    Add a FACK mode
    Add a non-AIMD mode for illustration purposes
    When using SACK, the flight size takes into account packets acknowledged in the SACK option field.  I don't think it should; I think it should behave in the same way as the non-SACK option, so FlightSize = cwnd when the pipe is not full.
    The transmitter can hang if acknowledgements arrive in the wrong order.  There's a bug in the implementation somewhere...
Dave