TestSimComm, 5/22/07 This application tests the TOSSIM radio model by setting up a simple hidden terminal case. It checks whether packets collide correctly and whether SNR thresholds work correctly.. The relevant output channel is "TestComm". There are three test cases: test-equal.py: Tests whether two nodes that are hidden terminals cause collisions. The two nodes have equal signal strengths, so a collision should corrupt both packets. If one packet is lost due to a collision, the other should be too. Note that packets can be lost in the absence of collisions due to external interference. test-unequal.py: Tests whether two nodes that are hidden terminals cause collisions. The two nodes have signal strengths that differ by 10dB, and node 1 is stronger. This means that node 2 should hear node 1's packets if they start first, but not second. If a packet from node 1 is lost, the packet from node 3 should be as well. However, a loss from node 3 does not imply a loss from node 1, as it is stronger. test-asym.py: Tests whether asymmetric links can have high delivery rates but low acknowledgement rates. Checks that acknowledgements follow SNR curves properly. In this test, both 1 and 3 have high quality links (-60 dBm) to node 2, but the reverse links (2 to 1 and 2 to 3) are much worse (-80 dBm). You should see packet deliveries like test-equal.py but few acknowledgements. The ./run script runs all the three tests and counts the number of ACKed and non-ACKed send packets. The output look like this: test-asym.log ACK NOACK total 1 4930 35923 40853 3 4983 35870 40853 test-equal.log ACK NOACK total 1 21197 19666 40863 3 21320 19543 40863 test-unequal.log ACK NOACK total 1 27619 12966 40585 3 21040 19545 40585 This output shows several this: - the number of ACKs in the asymmetric links case is much less than in the equal case which proves the fact that the reverse links are indeed poor. - in the unequal case the number on ACKs for node 1 is higher than node 3 which is expected because node 1 has a better link to 2 than 3. - in the equal case both nodes perform similar, each of them loosing about half of their packets. Philip Levis