FRI重构算法中最经典的莫过于零化滤波器法,以下是matlab仿真程序
%% FRI信号重构,信号模型:Dirac脉冲流,采样核为sinc核
%% huasir @shenzhen 2022.4.7
%%------------------------------
clc;clear all;close all;
%% FRI信号建模-Dirac脉冲函数
T = 1;
dt = 0.0001;
t = 0:dt:T;
L = 6; %%自由度为2*L
ak = [0.4, 0.6, 0.3, 0.9, 0.7, 0.3];
tk = [0.1, 0.2, 0.5, 0.7, 0.8, 0.9];
N = length(t);
x = zeros(1,N);
SNR = 35;
for i = 1:L
x = x + ak(i)*(t==tk(i));
end
%% 产生噪声
noise=wgn(1,N,10*log10(var(x)/(10^(SNR/10))),'real');
x = x + noise;
plot(x);
%% 获取信号的m个傅里叶级数系数,m>=2*L
m = 2*L;
mid = ceil(N/2);
X = fftshift((fft(x)/N));
y = X(mid:mid+m-1);%%取出来2L个傅里叶系数
%% 构造Topelize矩阵,Za=y_yule,方程组的解a=z^(-1