2

I have a second order sigma delta modulator in simulink matlab. it's working fine i applied a sinusoidal waveform to the input with Vp - p = 1V and i have the same waveform(with a little delay), after low-pass filtering in the output :

I get this for fft : fft

sampling freq=256 MHz
input freq= 4MHz

Period of sample and hold clock is 1/256MHZ And also sample time for adc_out block seen in the pic is 1/256MHz And i didn't touch anything else.

And i calculated the input freq based on this formula :

fin=(prime/N)* sampling freq

Prime is prime number, i chose 257 N is number of fft points, i chose 16384 sampling freq is 256MHz therefore i got 4MHz as the best input freq and these considerations, after fft, were supposed to give me a nice impulse at 4MHz and the shaped noise in the higher frequencies as you can see i don't have my desired imupulse at 4MHz! and i just don't know why!!

Fateme
  • 21
  • 3

1 Answers1

2

Just peeking at the image, I'd say it's a windowing issue. In particular, since you don't use an explicit window, you are using a block function. The FFT of a block is sin(x)/x, which is convoluted with your real response.

MSalters
  • 173,980
  • 10
  • 155
  • 350
  • Yes, most probably that's the issue. But how to solve it? what i have done seems correct to me because based on the theory of sigma-delta modulator the noise level is shaped to higher frequencies and is the lowest at 4MHz but the signal tone is missing there! @MSalters – Fateme Jun 20 '17 at 10:45
  • @Fateme: Pretty much any window function should help. Multiply `x` by that window before calling `fft(x)`. – MSalters Jun 20 '17 at 11:11
  • I applied a hann window which i suppose is best for sigma-delta modulator types and yet i do not have my tone! the code: clc, close all x=adc_out; w=hann(16385,'periodic'); x=x.*w; f=(abs(fft(x)))/16384; dbpsd=20*log10(f); freq=256*linspace(0,0.5,16384/2); plot(freq,dbpsd(1:1:16384/2)) – Fateme Jun 21 '17 at 15:12
  • @Fateme: Sorry to hear, but that might be a decent new question (with before&after graphs) – MSalters Jun 21 '17 at 22:02