The pulse shaping filter for V.27ter is defined in the spec. It is a root raised cosine filter with 50% excess bandwidth.
The sampling rate for our transmitter is defined by the channel - 8000 samples/s. This is a multiple of the baud rate at 4800 bits/s (8-PSK at 1600 baud, 5 samples per symbol), but not at 2400 bits/s (4-PSK at 1200 baud, 20/3 samples per symbol). The baud interval is actually 20/3 sample periods at 2400bis/s. A symmetric FIR is used to apply root raised cosine filtering in the 4800bits/s mode. In the 2400bits/s mode a polyphase FIR filter is used. This consists of 20 sets of coefficients, offering zero to 19/20ths of a baud phase shift as well as root raised cosine filtering. The appropriate coefficient set is chosen for each signal sample generated.
The carrier is generated using the DDS method. Using 2 second order resonators, started in quadrature, might be more efficient, as it would have less impact on the processor cache than a table lookup approach. However, the DDS approach suits the receiver better, so then same signal generator is also used for the transmitter.