%%%2024-10-15 %%%verification 8 linear interpolation result by comparing matlab and verilog result clc;clear;close all cd('/data/work/thfu/TailCorr/script_m'); sel_double = 0; switch sel_double case 0 iir_in_verilog = int64(importdata("/home/thfu/work/TailCorr/sim/in.dat") - 32768); % iir_out_x1 = int64(importdata("/home/thfu/work/TailCorr/sim/X1_data.dat") -32768); % iir_out_x2 = int64(importdata("/home/thfu/work/TailCorr/sim/X2_data.dat") -32768); % iir_out_x4 = int64(importdata("/home/thfu/work/TailCorr/sim/X4_data.dat") -32768); iir_out_verilog_x8 = int64(importdata("/home/thfu/work/TailCorr/sim/X8_data.dat") -32768); case 1 iir_in = double(importdata("/home/thfu/work/TailCorr/sim/in") + 0); iir_out_x1 = double(importdata("/home/thfu/work/TailCorr/sim/X1_data.dat") - 32768); iir_out_x2 = double(importdata("/home/thfu/work/TailCorr/sim/X2_data.dat") - 32768); iir_out_x4 = double(importdata("/home/thfu/work/TailCorr/sim/X4_data.dat") - 32768); iir_out_x8 = double(importdata("/home/thfu/work/TailCorr/sim/X8_data.dat") - 32768); end % iir_out_x1 = [iir_out_x1' zeros(1,2)]'; % iir_out_x2 = [iir_out_x2' zeros(1,3)]'; % iir_out_x4 = [iir_out_x4' zeros(1,6)]'; alpha = [1757225200, 1045400392, 13740916]; beta = -[1042856 1046395 1047703]; Ystart = 0; y_revised_matlab = TailCorr(alpha,beta,iir_in_verilog,Ystart,sel_double); N = length(y_revised_matlab); x1 = (1:1:N)'; x8 = (1:1/8:N+1-1/8)'; y_revised_intp8_matlab = int64(interp1(x1,double(y_revised_matlab),x8,'linear')); %%% %tau0 = finddelay(y_revised_matlab,iir_out_x1); %y_revisedPhi0 = cat(1,zeros(1,tau0)',y_revised_matlab(1:end-tau0,1)); %figure('Units','normalized','Position',[0.500390625,0.517361111111111,0.49921875,0.422916666666667]); %diff_plot(iir_out_x1, y_revisedPhi0,'verdi','matlab',[200 N]); %%% %tau2 = finddelay(s_intp2,iir_out_x2); %y_revisedPhi2 = cat(1,zeros(1,tau2)',s_intp2(1:end-tau2,1)); %figure('Units','normalized','Position',[0.500390625,0.517361111111111,0.49921875,0.422916666666667]); %diff_plot(iir_out_x2, y_revisedPhi2,'verdi','matlab',[0 4e4]) %%% %tau4 = finddelay(s_intp4,iir_out_x4); %y_revisedPhi4 = cat(1,zeros(1,tau4)',s_intp4(1:end-tau4,1)); %figure('Units','normalized','Position',[0.000390625,0.034027777777778,0.49921875,0.422916666666667]); %diff_plot(iir_out_x4, y_revisedPhi4,'verdi','matlab',[0 8e4]) %%% tau8 = finddelay(y_revised_intp8_matlab,iir_out_verilog_x8); y_revisedPhi8 = cat(1,zeros(1,tau8)',y_revised_intp8_matlab(1:end-tau8,1)); figure('Units','normalized','Position',[0.000390625,0.517361111111111,0.49921875,0.422916666666667]); diff_plot(iir_out_verilog_x8, y_revisedPhi8,'verdi','matlab',[400 800]);