📄 interpolation_filter.m
字号:
function [ Sample_Synchronous_Period ] = Interpolation_Filter(Sample_Independence_Period)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Interpolation_Filter.m % 函数文件 % 拉格郎日立方插值滤波器%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================================================================%输入接口参数:Sample_Independence_Period(独立时钟采样序列)%输出数据: Sample_Synchronous_Period(同步后采样序列)%独立采样周期:Independence_Period%同步后采样周期:Synchronous_Period%符号周期:Symbol_Period%定时误差:Timing_Error%分数间隔:Fractionally_Space%基本指针:Baseic_Pointer%参与插值的样值:Interpolation_Sample%插值滤波器系数:Interpolated_Coefficients%==========================================================================global Independence_Period;global Synchronous_Period;global Symbol_Period ;Symbol_Period =1/(28*10^9);Independence_Period = Symbol_Period/4;Synchronous_Period = Symbol_Period/1;% Sample_Independence_Period = csvread('trans_delay_polx_I.csv', 7, 1);Resample_Number=length(Sample_Independence_Period)/4*1; Timing_Error = 0;for k=2:1:Resample_Number-1Add(k) = (k*Synchronous_Period + Timing_Error*Symbol_Period) / Independence_Period;Fractionally_Space(k) = mod(Add(k),1);Baseic_Pointer(k) = Add(k) - Fractionally_Space(k) ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%拉格郎日插值滤波器,每次选四个样值进行插值%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Interpolation_Sample1 = Sample_Independence_Period(Baseic_Pointer(k)+2);Interpolation_Sample2 = Sample_Independence_Period(Baseic_Pointer(k)+1);Interpolation_Sample3 = Sample_Independence_Period(Baseic_Pointer(k));Interpolation_Sample4 = Sample_Independence_Period(Baseic_Pointer(k)-1);Interpolated_Coefficients1 = 1/6*(Fractionally_Space(k)^3 - Fractionally_Space(k));Interpolated_Coefficients2 = 1/2*Fractionally_Space(k)^2 - 1/2*Fractionally_Space(k)^3 + Fractionally_Space(k);Interpolated_Coefficients3 = 1/2*Fractionally_Space(k)^3 - Fractionally_Space(k)^2 - 1/2*Fractionally_Space(k) + 1;Interpolated_Coefficients4 = 1/2*Fractionally_Space(k)^2 - 1/6*Fractionally_Space(k)^3 - 1/3*Fractionally_Space(k);Sample_Synchronous_Period(k) = Interpolation_Sample1*Interpolated_Coefficients1 + Interpolation_Sample2*Interpolated_Coefficients2 + Interpolation_Sample3*Interpolated_Coefficients3 + Interpolation_Sample4*Interpolated_Coefficients4;endSample_Synchronous_Period;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -