Using the RTS/CTS to solve the problem.
Hidden terminal
A and C, can't hear each other, both want to send data to B. The data will occur collision at node B.
A --- B --- C
Exposed terminal
S1 is sending data to S1, but S2 hear S1 is sending. So S2 will stop to send if it want to send something to R2. R2 is called a exposed terminal.
R1 <--- S1 S2 ---> R2
1.
The program need to compile in the first time.

2.
Two Ray ground, distance set 250m.

3.
simulate the tcl files

4
use threshold.exe to find the parameters
A-B 100m
B-C 100m
Transmit distance=120m
Carrier Sense distance=150m

9.
Test hidden terminal
without RTS/CTS

10.
sd1 sent 1688 packets

Sd2 sent 1626 packets

rd1 only get 125 pakets

and rd2 get 83 packets

11.
with RTS/CTS
rd1 receive 746 packets

11
rd2 got 782 packets

12
expose terminal sim.
A and C, can't hear each other, both want to send data to B. The data will occur collision at node B.
A --- B --- C
100m 100m
carrier sense distance 120m
data transmit distance 100m


13.
sim. the tcl files

14.
and we can see
without RTS/CTS
the same as previous one
10.
sd1 sent 1688 packets

Sd2 sent 1626 packets

16.
rd1 receive 1038 packets from node1

17.
rd2 receive 660 packets from node 3

18.
when we have RTS/CTS
rd1 receive 875 packets from node1

19.
rd2 receive 741 packets from node 3

The packets receive rate is not increased .
The result shows even we have RTS/CTS, the hidden terminal problem is not solved.





















