%生成一组chirp信号
t=0:0.001:1;
a=chirp(t,0,1,10); %chirp的信号频率从1-10hz
fs = 2*10; %根据采样定理,fs为你所关心的最大频率范围的两倍
L = length(0:1/fs:1);%对应图的采样点数
N = 2^nextpow2(L); %采样点数设置为2的整数幂,当信号中按采样频率进行采样,点数少于N时,fft函数将自动补零,
%设置N可提高fft性能,N最小的个数可以根据上述的定,若要提高频率分辨率,则N可自行增大
n = 0:N-1;
t = n/fs; %采样点对应的时间序列,可检验对应的点,如下图所示,红点表示采样点
%开始傅里叶变换
y1=fft(a,N); %对信号进行快速Fourier变换
mag1=abs(y1); %求得Fourier变换后的振幅
mag1=mag1/(N/2);
mag1(1)=mag1(1)/2;
f=n*fs/N; %频率序列
% figure(1)
% plot(f(1:N/2),mag1(1:N/2))
f=n*fs/N; %频率序列
mag1=mag1/(N/2);
figure(1)
semilogy(f(1:N/2),mag1(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅 y轴对数函数
xlabel('频率/Hz');
ylabel('振幅');grid on;
chirp fs
最新推荐文章于 2024-11-01 14:48:20 发布