## FRI 信号重构
## 信号模型为Dirac脉冲,采样核为sinc核,直接取傅里叶系数
##
import numpy as np
import matplotlib.pyplot as plt
import math
fs = 1000 #采样率
dt = 1/fs #采样间隔
simuT = 1 #仿真时间
L = 5 #Dirac脉冲数,2*L即新息率
simuTime = np.arange(0,simuT,dt) #仿真时间向量,步长为dt,起点为0,终点为1,不包含终点
ak = np.array([0.4, 0.6, 0.3, 0.9, 0.7]) #幅值
tk = np.array([0.1, 0.2, 0.3, 0.7, 0.8]) #时延,单位为秒
tk_index = (tk*fs).astype(np.int32) #脉冲流信号的脉冲位置的下标,下标必须是整数,astype()用于强制类型转换
N = simuTime.size #信号的长度
x = np.zeros((N)) #生成全零的仿真信号
x[tk_index] = ak #添加脉冲
## 绘制仿真信号
#plt.stem(simuTime,x)
#plt.show()
X = np.fft.fftshift(np.fft.fft(x))/N #fft变换,并且将零分量平移到中心
mid = (np.ceil(N/2)).astype(int) #零频率分量的下标
X_part = X[mid:mi
FRI信号重构算法(一):零化滤波器法(python版)
最新推荐文章于 2024-09-26 18:47:08 发布
本文介绍了FRI(有限速率创新)信号重构中的零化滤波器方法,并提供了详细的Python代码实现,帮助读者理解并应用该算法。
摘要由CSDN通过智能技术生成