作业帮 > 综合 > 作业

matlab采样问题t=0:0.01:2*pi;f0=5;fs=20; %采样频率y=cos(2*pi*f0*t); %

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/03 10:02:55
matlab采样问题
t=0:0.01:2*pi;
f0=5;
fs=20; %采样频率
y=cos(2*pi*f0*t); %被采样函数
subplot(411);
plot(t,y);
axis([0 5 -1 1]);
Ts=1/fs; %采样间隔
N=200; %采样点数
for i=0:N
Xs(i)=y(i*Ts);
end
subplot(412);
stem(Xs,'.');
在matlab中运行后,提示 Xs(i)=y(i*Ts);这一行错误,也没有说是什么错误.我找了半天原因都没有找到,
matlab采样问题t=0:0.01:2*pi;f0=5;fs=20; %采样频率y=cos(2*pi*f0*t); %
t=0:0.1:2*pi;%%采样频率1/0.1=10Hz,采样点数为length(t)f0=0.5;y=cos(2*pi*f0*t);stem(y)%%%%%%上面的结果y本来就是采样后的结果,你还要对采样后的结果再采样,明显有问题.>> t=0:0.1:1t =0    0.1000    0.2000    0.3000    0.4000    0.5000    0.6000    0.7000    0.8000    0.9000    1.00000-1之间的连续的值有无穷个,而t的取值你可以看到是采样的结果,以0.1为间隔进行采样,采样的点数为length(t)=11点另外Xs(i)=y(i*Ts);中Ts=0.05,就算i从1开始,你的数组下标有许多都是小数,数组的下标必须是整数,1,2,3,4,5,6,.%%%%%%%%%%%%%%%%%%%%%%%%%%1 得到采样频率为20Hz,点数为200的信号在一个周期内采样频率为20Hz,只能得到126点,得不到200点.如果要得到200点的话,采样频率要更改.t=0:2*pi/(200-1):2*pi,这样的话采样点数就为200点,采样频率为(200-1)/2*pi.2 如果要求采样频率为20Hz,点数为200点,那就加长周期,采完后,去前200个点就行了.t=0:1/20:4*pi,该t有252个点,你取前200个点即可.t=t(1:200).