编程题5:抽样定理与信号重构(1)以方波为例,编程实现信号重构;(2)附完整代码用MATLAB
时间: 2024-04-17 11:25:21 浏览: 308
下面是使用MATLAB编写的完整代码,实现了方波信号的重构:
```matlab
% 生成方波信号
fs = 1000; % 采样频率
T = 1; % 方波周期
t = 0:1/fs:T-1/fs; % 时间序列
f = 1/T; % 方波频率
x = square(2*pi*f*t); % 方波信号
% 重构信号
Ts = 1/(10*f); % 采样周期
ts = 0:Ts:T-1/fs; % 重构时间序列
xr = zeros(size(ts)); % 重构信号
for i = 1:length(ts)
xr(i) = sum(x.*sinc(fs*(t-ts(i))));
end
% 绘制原始信号和重构信号
figure;
subplot(2,1,1);
plot(t, x);
xlabel('时间 (s)');
ylabel('幅值');
title('原始信号');
subplot(2,1,2);
plot(ts, xr);
xlabel('时间 (s)');
ylabel('幅值');
title('重构信号');
```
运行以上代码,会得到两个图形窗口。第一个图形窗口展示了原始方波信号在时域的波形,第二个图形窗口展示了通过抽样定理和信号重构得到的重构方波信号。
阅读全文