Hi everyone I'm working with a Quartus II signal tap and I have a problem.
Given that I know how to export the data from the signal tap, I need to process them in matlab.
I created a signal called ADC_DB and another ADC_DB_filter.
These two signals represent a filtered and unfiltered signal by fir filter.
I tried filtering through HW and found that the filter works. But I have to try to do the same thing through matlab.
When I export the signal tap I have a sample vector and I would like to understand how to go about filtering it
i know filter desiner so i would use the same parameters as fir compiler but the problem i have to do something for the samples.
By FFT plot do you mean that fir compiler response in you diagram above? that is not FPGA but is compiler full bandwidth response to an impulse input. Internally it uses fft of an impulse input.
If you want do fft on single tone then you just get a line or so, not helpful.
If you want full bandwidth response you need random data as input or impulse input but for impulse in hardware you will need tricks like repeating it...
An impulse will just eject out your coeffs.
Hi everyone I'm working with a Quartus II signal tap and I have a problem.
Given that I know how to export the data from the signal tap, I need to process them in matlab.
I created a signal called ADC_DB and another ADC_DB_filter.
These two signals represent a filtered and unfiltered signal by fir filter.
I tried filtering through HW and found that the filter works. But I have to try to do the same thing through matlab.
When I export the signal tap I have a sample vector and I would like to understand how to go about filtering it
i know filter desiner so i would use the same parameters as fir compiler but the problem i have to do something for the samples.
Just to recap. My method is as follows:
get a filter designed in software tool. Do whatever analysis in software.
once happy implement on FPGA. Here you don't need to re-prove functionality but you need to confirm implementation. For this a random input is best. Inject random input into fpga and into matlab model and directly compare outputs. No need for any fft.
Today I tried to insert the ADC_DB and DAC_DB vector in simulink.
Through Z0H I reconstructed the signal starting from the samples captured by the signal tap. Then I visualized the spectrum
The most subdued in blue is ADC_DB
At this point I have compared the output of the fir of the FPGA (band_pass) with the same filter done in matlab.
Does this make sense?
The difference is that the signal entering the filter on the FPGA is 14-bit.