I’ve got RF signal generators, and arbitrary waveform generators, but sometimes neither of these gives me what I need when testing mixed digital / RF circuits. For example, here is a board I designed to perform unfiltered BPSK modulation of an RF carrier. The purpose of this design is twofold; primarily to provide an in-band a timing reference signal for an SDR (or other receiver) when we are trying to measure the time-of-flight of radio signals such as WWV time-ticks. The other goal for this design is to allow me to experiment with slow-speed spread-spectrum-types of transmissions (yes, I am fully aware of the ham regulations and occupied bandwidth limitations.)

For the time-sync generation we will inject into the receiver input a low-level carrier with a 1 Hz phase inversion, driven by the PPS output of a GPS receiver. The BPSK board takes a carrier input and the PPS input, and generates the BPSK output. The carrier will be at 84.225 MHz, which will be partially attenuated by the input filter of the RX-888 SDR. This frequency is above the Nyquist limit and so will be aliased down to 45.375 MHz by the RX-888 129.6 MHz sample clock. This specific carrier frequency was chosen so none of the aliasing artifacts of the carrier or the first five harmonics will land in any of “ham-interesting” bands, and so that re-radiation of it will be blocked by the external low-pass filter typically installed between the antenna and the receiver.
Yes, but what about the testing?
The carrier input port is designed to take a square-wave signal from a 50 Ohm source, with an amplitude of about 1.5 volts P-P (as you would get from a programmable-output GPSDO). But I want to use my spectrum analyzer tracking generator so I can easily see the frequency response of the boards output filter, and the analyzer can’t deliver an output (sine or square) at that level.
So I need to boost a small sinewave up to a logic-level square-wave. Fortunately I have the TIS-126 Clock Distribution Buffer handy:


The TIS-126 buffer will accept a 1 Hz to 100+ MHz signal (sine or square) between -20 and +20 dBm, and deliver a 3.3V (unloaded) or 1.6V (50 Ohm load) square-wave output to six ports. In this case I only need one output port, but usually the TIS-126 is used to provide reference clocks to test equipment, or to multiple transmitters or receivers.
I connect the tracking generator output to the TIS-126 input, and drive my Device Under Test from the TIS-126 output, and can now view the filter response on the analyzer:
Test Results:

Here we can see the 84 MHz filter after attenuation. To be honest, I’m not sure about the response much above 100 MHz since the TIS-126 output will be falling off and quitting at some point — I didn’t check. But the filter response looks quite good.

And above is the spectrum of the unmodulated 84 MHz carrier and some harmonics that made it through (or around) the filter. For the intended application, the RX-888 input anti-aliasing filter, while marginal, should still attenuate these much further. Even if these harmonics break through the noise floor, the careful choice of carrier frequency makes sure that they will not interfere with our signals of interest.
And below is the spectrum of the 84 MHz carrier with a phase inversion at a 100 Hz rate:

Finally, the spectrum of an unfiltered 40 MHz carrier being BPSK NRZI modulated by a 250 bits per second quasi-random data pattern:

For some of these measurements, being away from my big RF generator, I used the Turn Island Systems TIS-5351 TinyClock for the carrier input. This little unit delivers a 1.6V P-P squarewave from about 10 KHz up to over 100 MHz. It’s petty handy, and can be connected to a reference clock when frequency accuracy is needed:

Conclusion:
The main take-away is that with the proper amplification or buffering, your RF test equipment can be used when testing digital designs. There are many ways to accomplish this, I have the TIS units (and I designed these because I wanted to solve this exact type of problem), but it’s a pretty simple project to build your own. Details and some schematics are available on the TIS website:
https://turnislandsystems.com/