利用sinc核函数插值重建正弦信号

本文探讨了sinc插值重采样过程中关于终止时间设置(与原始采样点数相等)以及为何不能直接用t与tr进行卷积的两个疑问,通过实例分析了重采样和插值信号的过程。

 学习sinc插值重采样过程记录,插值已经基本理解,但仍然有两个疑问:

1. 为什么tx和tr的终止时间需要一致,且等于原始采样点数?

2. 为什么不能直接使用t的序列与tr进行卷积。

close

% 采样原始信号
T = 10;                     % 信号周期,T_end/T=整周数
n = 30;                      % 采样点数(>=20)
T_end = 20;                 % 终止时间
t = linspace(0,T_end,n);    % 采样时间向量
x = sin(2*pi/T*t);          % 采样信号

% 定义重建时间向量
m = 4;                                      % 插值系数

% tx和tr的终止时间需要一致,且等于原始采样点数
tx = linspace(0,length(x),length(x));       %①重采样原始时间,扩大了数据范围,相当于在t上拉伸
tr = linspace(0,length(x),length(x)*m);     %②插值时间序列

% 利用 sinc 函数重建信号
xr = zeros(size(tr));                       % 初始化重建信号向量
for i = 1:length(tr)
    xr(i) = sum(x .* sinc((tr(i) - tx)));   % ③插值信号 使用所有tx时刻的xn信号计算重建信号
end
trc = linspace(0,T_end,length(x)*m);        % 插值后原始时间序列

% 绘制原始信号、采样信号及重建信号
figure;
subplot(4,1,1)
stem(t, x);
title('原始信号');
subplot(4,1,2)
stem(tx, x,'-b');
title('时间重采样信号');
subplot(4,1,3)
stem(tr, xr,'-*r');
title('插值信号');
subplot(4,1,4)
stem(trc, xr,'-*r');hold on;
stem(t, x,'-b');
title('时间压缩信号');
legend('xr','x');

 

参考:

1.http://t.csdn.cn/4dr6t

2.https://wenku.csdn.net/answer/c9f599d4096342029d038940ad5cd1cc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值