[ADALM2000] DAC seems to be worked wrong when below frequency 750KHz

I would like to get 1KHz of analog sin wave using function generater on ADALM2000 using Python program. I wrote a program and ran it, then I noticed that the frequency of the output sin wave is differ depending on the setting of sampling frequency of DAC. As the DAC is working in fixed 75MHz sampling, I think the cause of the problem would be the interporator running incorrectly. The Python program I wrote is as follows.

import libm2k
import matplotlib.pyplot as plt
import numpy as np

ctx=libm2k.m2kOpen()
if ctx is None:
	print("Connection Error: No ADALM2000 device available/connected to your PC.")
	exit(1)

INFS = 100000    # 100KHz -> 1/1000 decimation

#OUTFS = 75000000 # 75MHz  -> no interpolation
OUTFS = 7500000  # 7.5MHz -> 10x interpolation
#OUTFS = 750000   # 750KHz -> 100x interpolation
#OUTFS = 75000     # 75KHz -> 1000x interpolation

TESTFREQ = 1000
TESTLEN = 50000

ctx.calibrateADC()
ctx.calibrateDAC()

ain=ctx.getAnalogIn()
aout=ctx.getAnalogOut()

ain.enableChannel(0,True)
ain.setSampleRate(INFS)
ain.setRange(0,-10,10)

aout.setSampleRate(0, OUTFS)
aout.enableChannel(0, True)

period_out = OUTFS/TESTFREQ
x = np.linspace(0,2*np.pi,period_out,endpoint=False)
sig = np.sin(x)
buf = [sig]

aout.setCyclic(True)
aout.push(buf)

period_in = int(INFS/TESTFREQ)
data = ain.getSamples(TESTLEN)
plt.plot(data[0][0::period_in])
plt.ylim(-1.5,1.5)
plt.show()

I wired W1->1+ and GND->1-. After wiring I ran this program with setting OUTFS to 75MHz or 7.5MHz I got DC on graph. Otherwise, sine wave appears in the graph. I think this means the frequency of sin wave changed by interpolator.

Is there any solution about to set the DAC sampling frequency under 750KHz correctly?

Parents Reply Children