'HF DDS as an UHF weak signal source (alias calculator)

CLS
PRINT : PRINT : PRINT
PRINT "      DDS alias calculator by S57UUU"
PRINT : PRINT

INPUT "enter clock frequency  ", fc
INPUT "enter desired output frequency  ", fd

n = INT(fd / fc)
fs = fd - n * fc

PRINT
PRINT "We will use alias ";

IF fs < fc / 2 THEN
        PRINT n; "+"
        fp = fs
ELSE
        PRINT n + 1; "-"
        fp = fc - fs
END IF

PRINT : PRINT "Frequency that has to be programmed into DDS is "; fp

IF fp < fc / 20 THEN PRINT : PRINT "WARNING! Frequency close to a dip - consider using a different clock frequency!"
IF fp > fc / 2 - fc / 20 THEN PRINT : PRINT "WARNING Frequency close to a peak - consider using a different clock frequency!"

IF fs < fc / 2 THEN
        fsp = fd - 2 * fp
        fzg = fd + fc - 2 * fp
ELSE
        fsp = fd - fc + 2 * fp
        fzg = fd + 2 * fp
END IF

PRINT
PRINT "Closest undesired aliases:"

PRINT fsp; ",   "; fd - fsp; "below desired frequency"
PRINT fzg; ",   "; fzg - fd; "above desired frequency"



