Although semiconductor LEDs and LDs have many similarities, unique transmitter designs result from differences between LED and LD sources. Transmitter designs compensate for differences in optical output power, response time, linearity, and thermal behavior between LEDs and LDs to ensure proper system operation. Nonlinearities caused by junction heating in LEDs and mode instabilities in LDs necessitate the use of linearizing circuits within the transmitter in some cases.