%%%20241009,comparing matlab and verilog result clc;clear;close all cd('/data/work/thfu/TailCorr/script_m'); sel_double = 1; switch sel_double case 0 iir_in = int64(importdata("/home/thfu/work/TailCorr/Test/sim/in") -32768); iir_out_x1 = int64(importdata("/home/thfu/work/TailCorr/Test/sim/X1_data.dat") -32768); iir_out_x2 = int64(importdata("/home/thfu/work/TailCorr/Test/sim/X2_data.dat") -32768); iir_out_x4 = int64(importdata("/home/thfu/work/TailCorr/Test/sim/X4_data.dat") -32768); case 1 iir_in = double(importdata("/home/thfu/work/TailCorr/Test/sim/in") + 0); iir_out_x1 = double(importdata("/home/thfu/work/TailCorr/Test/sim/X1_data.dat") - 32768); iir_out_x2 = double(importdata("/home/thfu/work/TailCorr/Test/sim/X2_data.dat") - 32768); iir_out_x4 = double(importdata("/home/thfu/work/TailCorr/Test/sim/X4_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 = TailCorr(alpha,beta,iir_in,Ystart,sel_double); s = round(y_revised); N = length(s); s_r1 = [0 s(1:end-1,1)']'; [s2,s2_mean] = MeanIntp(s,s_r1); s2 = floor(s2); s2_mean = floor(s2_mean); s2_r1 = [0 s2(1:end-1,1)']'; [s4_4,s4_3] = MeanIntp(s2,s2_mean); [s4_2,s4_1] = MeanIntp(s2_mean,s2_r1); s4_1 = floor(s4_1); s4_2 = floor(s4_2); s4_3 = floor(s4_3); s4_4 = floor(s4_4); s_intp2 = zeros(2*N,1); s_intp2(1:2:2*N) = s2_mean; s_intp2(2:2:2*N) = s2; s_intp4 = zeros(4*N,1); s_intp4(1:4:4*N) = s4_1; s_intp4(2:4:4*N) = s4_2; s_intp4(3:4:4*N) = s4_3; s_intp4(4:4:4*N) = s4_4; %%% tau1 = finddelay(y_revised,iir_out_x1); y_revisedPhi1 = cat(1,zeros(1,tau1)',y_revised(1:end-tau1,1)); figure('Units','normalized','Position',[0.000390625,0.517361111111111,0.49921875,0.422916666666667]); diff_plot(iir_out_x1, y_revisedPhi1,'verdi','matlab',[0 2e4]) 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])