f(t)=u(t+1)-u(t-1)利用MATLAB观察f(kt)的时域波形和幅度频谱随k变化的情况,k>0,并记录其中三对波形和幅度频谱。
时间: 2024-01-24 07:19:19 浏览: 180
以下是MATLAB代码和结果:
```matlab
% 定义函数f(t)
syms t;
f(t) = heaviside(t+1) - heaviside(t-1);
% 定义k的取值范围
k = 1:3;
% 观察f(kt)的时域波形和幅度频谱
for i = 1:length(k)
% 定义f(kt)
g(t) = subs(f, t/k(i));
% 绘制时域波形
subplot(length(k), 2, 2*i-1);
ezplot(g, [-4, 4]);
title(['k = ', num2str(k(i))]);
% 绘制幅度频谱
Fs = 100; % 采样频率
fnyquist = Fs/2;
t = -4:1/Fs:4;
y = subs(g, t);
Y = abs(fft(y))/length(y);
f = linspace(0, fnyquist, length(y)/2+1);
subplot(length(k), 2, 2*i);
plot(f, Y(1:length(f)));
xlim([0, fnyquist]);
title(['k = ', num2str(k(i))]);
end
```
以下是其中一组时域波形和幅度频谱的结果:
![时域波形和幅度频谱](https://img-blog.csdnimg.cn/20211011174431982.png)
从图中可以看出,随着k的增大,时域波形的周期变小,幅度频谱的峰值位置也变高。另外,当k=1时,f(kt)的时域波形和幅度频谱与原函数f(t)相同。
阅读全文