TailCorr/script_m/TailCorr_8inpt_test.m

64 lines
2.7 KiB
Matlab

%%%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]);