采样恢复matlab
时间: 2023-10-27 10:08:04 浏览: 37
在Matlab中进行采样恢复(信号重构)可以使用插值方法。以下是一个简单的示例代码,使用插值函数interp1进行恢复:
```matlab
% 原始信号
t = 0:0.1:10;
y = sin(t);
% 采样信号
Ts = 0.5;
t_sampled = 0:Ts:10;
y_sampled = sin(t_sampled);
% 采样恢复(插值)
t_recovered = 0:0.1:10;
y_recovered = interp1(t_sampled, y_sampled, t_recovered, 'linear');
% 绘制结果
subplot(2,1,1);
stem(t_sampled, y_sampled, 'r', 'filled');
hold on;
plot(t, y, 'k');
title('采样信号');
legend('采样', '原始');
subplot(2,1,2);
plot(t_recovered, y_recovered, 'g');
hold on;
plot(t, y, 'k');
title('采样恢复');
legend('恢复', '原始');
```
在这个示例中,首先生成了一个原始信号y,然后进行了采样得到了采样信号y_sampled。然后使用interp1函数对采样信号进行恢复,得到恢复信号y_recovered。最后绘制了采样信号和恢复信号与原始信号的比较。
注意,上述代码中的插值方法是线性插值('linear'),你还可以尝试其他插值方法,如三次样条插值('spline')、分段线性插值('pchip')等,具体选择取决于你的需求和数据特点。