Bit stream (Delta Sigma ADC) to Decimation filter concerns
Hi, I have a second order delta sigma modulator that I want to process the output bitstream to get the analog output
Right now I have the output bitstream (varying from 0~3.3) exported from Cadence Virtuoso
And I passed the bitstream directly to a decimation filter made using filterDesigner setting the decimation factor the same as my OSR (32)
(input analog sine wave, output bitstream after delta sigma modulator, decimated sine wave on Matlab, FFT of the previous decimated plot)
However, the sine wave looks pretty distorted, I am guessing that’s due to the export sampling frequency (the simulation is sampled at much higher rate than my clock frequency) that Cadence Virtuoso does, but I am not certain.
The question is, is there any pre-filter process I need to do in order to decimate a digital data? I couldn’t find any example that process the bitstream directly to the decimation filter.
subplot(4,1,3);
xoutfilter = OUT{:,1};
youtfilter = Hm(OUT{:,2}); %Hm being the system object of FIRDecimator
plot(youtfilter)
xlabel(‘time’);
ylabel(‘voltage’);
Thanks a lot!Hi, I have a second order delta sigma modulator that I want to process the output bitstream to get the analog output
Right now I have the output bitstream (varying from 0~3.3) exported from Cadence Virtuoso
And I passed the bitstream directly to a decimation filter made using filterDesigner setting the decimation factor the same as my OSR (32)
(input analog sine wave, output bitstream after delta sigma modulator, decimated sine wave on Matlab, FFT of the previous decimated plot)
However, the sine wave looks pretty distorted, I am guessing that’s due to the export sampling frequency (the simulation is sampled at much higher rate than my clock frequency) that Cadence Virtuoso does, but I am not certain.
The question is, is there any pre-filter process I need to do in order to decimate a digital data? I couldn’t find any example that process the bitstream directly to the decimation filter.
subplot(4,1,3);
xoutfilter = OUT{:,1};
youtfilter = Hm(OUT{:,2}); %Hm being the system object of FIRDecimator
plot(youtfilter)
xlabel(‘time’);
ylabel(‘voltage’);
Thanks a lot! Hi, I have a second order delta sigma modulator that I want to process the output bitstream to get the analog output
Right now I have the output bitstream (varying from 0~3.3) exported from Cadence Virtuoso
And I passed the bitstream directly to a decimation filter made using filterDesigner setting the decimation factor the same as my OSR (32)
(input analog sine wave, output bitstream after delta sigma modulator, decimated sine wave on Matlab, FFT of the previous decimated plot)
However, the sine wave looks pretty distorted, I am guessing that’s due to the export sampling frequency (the simulation is sampled at much higher rate than my clock frequency) that Cadence Virtuoso does, but I am not certain.
The question is, is there any pre-filter process I need to do in order to decimate a digital data? I couldn’t find any example that process the bitstream directly to the decimation filter.
subplot(4,1,3);
xoutfilter = OUT{:,1};
youtfilter = Hm(OUT{:,2}); %Hm being the system object of FIRDecimator
plot(youtfilter)
xlabel(‘time’);
ylabel(‘voltage’);
Thanks a lot! adc, decimation, bitstream, fir, filter MATLAB Answers — New Questions