How to calculate sine wave SNR from oscilloscope I'm trying to calculate the SNR of a sine wave produced with a 12 bit DAC. I'm new when it comes to calculating/measuring noise in signals. My idea was to capture the signal using an oscilloscope (which unfortunately does not have an FFT function), so I could run an FFT analysis in MATLAB to separate the signal in its fundamental and harmonics to find the SNR.
This is the signal that I acquired, it's a 600 mVpp sine wave at 1kHz

I have 625000 samples, and according to the metadata from the oscilloscope, it has a sample interval of 1.6e-8s. My first approach was to use MATLAB's snr function directly using the voltage samples
Fs = 625000;
r = snr(measurements, Fs);

Using that code I obtain this:

I was expecting the fundamental to be close to 1kHz, but it's sitting at 0.011 kHz with -9.699 dB.
Is this result expected?
I also tried plotting the FFT using the following code (which again gives me this peak close to 0):
y = fft(measurements);
n = length(measurements);                         
fshift = (-n/2:n/2-1)*(625000/n);
yshift = fftshift(y);
plot(fshift,abs(yshift))
For all the reasons above, an oscilloscope is inadequate to this task.  Here's a couple of alternatives:
Method 1: find someone with a really good spectrum analyzer, and borrow time on it.
Method 2: build a really good notch filter (for a one-off you'll want to use analog components, and good ones).  Characterize it (I didn't say this would be easy).  Then run your 1kHz signal through the notch and look at the remainder in the O-scope.  Once you get rid of the 1kHz tone, whatever remains is the stuff you don't want -- characterize that, add the 1kHz tone back in on paper, and you've characterized the net effect of your DAC and your notch filter.
Note that method 2 requires some significant analog chops.  If your go-to solution involves white proto-board, junkbox capacitors and LM741 amps, you probably need to up your game.