如何设定matlab fft的采样频率?clccleart=0:0.01:200;y=0.5+0.5*cos(2*pi/32*t+2/3*pi);%plot(t,y)N=1024;fs1=100;fs2=1000;n=0:N-1;Y=fft(y);f1=n*fs1/N;mag=abs(Y);subplot(1,2,1),plot(f1(1:N/2-1),mag(1:N/2-1));title('当fs为100时');f2=n*fs2

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 04:30:49
如何设定matlab fft的采样频率?clccleart=0:0.01:200;y=0.5+0.5*cos(2*pi/32*t+2/3*pi);%plot(t,y)N=1024;fs1=100;fs2=1000;n=0:N-1;Y=fft(y);f1=n*fs1/N;mag=abs(Y);subplot(1,2,1),plot(f1(1:N/2-1),mag(1:N/2-1));title('当fs为100时');f2=n*fs2

如何设定matlab fft的采样频率?clccleart=0:0.01:200;y=0.5+0.5*cos(2*pi/32*t+2/3*pi);%plot(t,y)N=1024;fs1=100;fs2=1000;n=0:N-1;Y=fft(y);f1=n*fs1/N;mag=abs(Y);subplot(1,2,1),plot(f1(1:N/2-1),mag(1:N/2-1));title('当fs为100时');f2=n*fs2
如何设定matlab fft的采样频率?
clc
clear
t=0:0.01:200;
y=0.5+0.5*cos(2*pi/32*t+2/3*pi);
%plot(t,y)
N=1024;fs1=100;fs2=1000;n=0:N-1;
Y=fft(y);
f1=n*fs1/N;
mag=abs(Y);
subplot(1,2,1),plot(f1(1:N/2-1),mag(1:N/2-1));
title('当fs为100时');
f2=n*fs2/N;
subplot(1,2,2),plot(f2(1:N/2-1),mag(1:N/2-1));
title('当fs为1000时')


如上面所示,选择采样频率fs=100和1000时,x轴刻度分别为0.5859和5.859,fs大了10倍,有谐波的频率也涨了10倍,按理说f0是多少在横轴频率上不就应该显示多少吗?此处f0=1/32,本人这方面是新手,不知谁能予以解答,

如何设定matlab fft的采样频率?clccleart=0:0.01:200;y=0.5+0.5*cos(2*pi/32*t+2/3*pi);%plot(t,y)N=1024;fs1=100;fs2=1000;n=0:N-1;Y=fft(y);f1=n*fs1/N;mag=abs(Y);subplot(1,2,1),plot(f1(1:N/2-1),mag(1:N/2-1));title('当fs为100时');f2=n*fs2
基本概念错误,所以程序本身就是概念模糊,当t=0:0.01:200;时你的采样频率就已经是20001/200hz了,做fft时就是这个采样频率了,你的程序只是是改变了横轴的值,对ft来说根本没有改变采样频率.要想达到你的编程目的应该改变t的值(t=0:0.01:1和t=0:0.001:1),再做两次fft,那么得到的横轴坐标才是准确的真实频率值.