利用sinc函数恢复信号的matlab代码,采样率为2HZ
时间: 2023-05-17 17:07:29 浏览: 464
以下是利用sinc函数恢复信号的matlab代码,采样率为2HZ:
```matlab
% 生成原始信号
t = 0:0.01:10;
x = sin(2*pi*t);
% 采样
Ts = 1/2;
n = 0:Ts:10;
xn = sin(2*pi*n);
% 重构信号
y = zeros(size(t));
for i = 1:length(n)
y = y + xn(i)*sinc((t-n(i))/Ts);
end
% 绘图
subplot(2,1,1);
plot(t,x);
title('原始信号');
xlabel('时间');
ylabel('幅值');
subplot(2,1,2);
plot(t,y);
title('重构信号');
xlabel('时间');
ylabel('幅值');
```
希望能对您有所帮助!
相关问题
利用sinc函数恢复信号的matlab代码,采样率为2HZ,t的取值范围为0<=t<=4
以下是利用sinc函数恢复信号的matlab代码,采样率为2HZ,t的取值范围为0<=t<=4:
t = 0:0.001:4; % 生成时间序列
x = sin(2*pi*t); % 原始信号
fs = 2; % 采样率
Ts = 1/fs; % 采样间隔
n = 0:1/fs:4; % 生成采样序列
xn = sin(2*pi*n); % 采样信号
h = sinc((t-Ts)/Ts); % 生成sinc函数
y = conv(xn,h); % 卷积运算
y = y(1:length(t)); % 截取卷积结果
plot(t,x,'b',t,y,'r'); % 绘制原始信号和恢复信号
xlabel('Time (s)');
ylabel('Amplitude');
legend('Original Signal','Reconstructed Signal');
利用sinc函数恢复信号的matlab代码
以下是一个利用 sinc 函数恢复信号的 MATLAB 代码示例:
```matlab
% 定义采样率和采样时间
fs = 1000; % 采样率为 1000 Hz
T = 1/fs; % 采样时间间隔
% 定义原始信号
t = 0:T:1; % 时间向量
x = sin(2*pi*10*t) + sin(2*pi*20*t); % 原始信号
% 采样原始信号
Ts = 1/100; % 采样时间间隔
n = 0:Ts:1; % 采样时间向量
xn = sin(2*pi*10*n) + sin(2*pi*20*n); % 采样信号
% 定义重建时间向量
tr = 0:T/10:1; % 重建时间向量
% 利用 sinc 函数重建信号
xr = zeros(size(tr)); % 初始化重建信号向量
for i = 1:length(tr)
xr(i) = sum(xn .* sinc((tr(i) - n)/T)); % 利用 sinc 函数计算重建信号
end
% 绘制原始信号和重建信号
figure;
subplot(2,1,1);
plot(t, x);
title('原始信号');
subplot(2,1,2);
plot(tr, xr);
title('重建信号');
```
这段代码首先定义了采样率和采样时间,然后定义了一个原始信号,接着对原始信号进行了采样,得到了采样信号。然后定义了一个重建时间向量,利用 sinc 函数计算重建信号,并绘制了原始信号和重建信号的图像。
阅读全文