see post #2once the file has been imported into matlab how should I do?
Not sure what you need. Ask a specific question.I understand but I'm asking for help
That's not a question. But since you don't seem to listen I'll try and be as blunt and straightforward as I can:I captured the signal from the signal tap.
I need to filter the signal tap signal and display it. I have to compare the filter created with ip core FPGA with the one created in matlab
As barry suggested you can use filter function. You need some care:I captured the signal from the signal tap.
I need to filter the signal tap signal and display it. I have to compare the filter created with ip core FPGA with the one created in matlab
As barry suggested you can use filter function. You need some care:
1) are you going to use scaled coeffs or normalised ones.
2) how do you control gain, truncation/rounding...i.e how many output bits you are left with and how many lsbs you discard (you can infer that from compiler or experiment in matlab)
3) Matlab filter will have zero initial values. Hardware will be continuous stream so expect mismatch at start/end tails of matlab filter
Use Octave, or build a convolution logic but Octave will do. So what are you planning to use then?exactly. The only thing I can't use matlab in my case.
M = load('Ip_64k_SNR92_PWM_ON.txt');
m = M(:,2)*(125/2^23);
Mean, you didn't yet learn how to use it?The only thing I can't use matlab in my case.
True the standard methodology is to check at simulation level. But At work we also confirm implementation and I usually run automated checks on every build using reference inputs/outputs. This is useful to release a build or not. Occasional failures do occur. It is excessive but useful.Regarding signal tap data import, you can read in exported text files with decimal values directly in Matlab, e.g.
In this case, all lines of column 2 are read into a vector, presuming that the header has been stripped before by a text editor. Alternatively you can restrict the line range in the index expression. 24 bit signed data with a nominal range of +/- 125 are scaled respectively here.Code:M = load('Ip_64k_SNR92_PWM_ON.txt'); m = M(:,2)*(125/2^23);
Processing captured FPGA data is particularly useful for real measurements, e.g. to determine signal-to-noise ratio or the noise transfer function of an ADC.
Processing FPGA generated data doesn't make much sense, except for learning purposes. You get exactly the same data from a HDL simulator directly. Quartus FIR compiler is generating simulation models and Matlab test code along with the filter.
--- Updated ---
Mean, you didn't yet learn how to use it?
Your plan isn't clear.I managed to create the filter..
I exported the coefficients, I took the input from the signal tap and only that the plot comes out like this.
i did plot
how can i fix?
i saw that you should do the fft
Fix? you want to prove it is ok or not? matlab function will tell. Generate the output of matlab function and compare. Needs care with scaling issues...exactly 1)
how can i fix the plot?
here is a diagram:exactly 1)
how can i fix the plot?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?