赞
踩
文件内的代码如下
%CK.2022.05.23
%函数名:plot_fft
%函数功能:画信号的频域图
%函数输入:X:信号序列;fs:信号频率
%函数输出:X_FS:函数频率向量;X_FR:幅值序列
function[X_FS,X_FR]=plot_fft(X,fs)
X_N=length(X); %信号长度
X_f=fft(X); %对信号进行FFT变换
X_FS=fs*(0:X_N/2)/X_N; %频率向量
X_f1=abs(X_f/X_N);
X_FR=X_f1(1:X_N/2+1);
X_FR(2:end-1)=2* X_FR(2:end-1); %真实幅度
end
创建测试文件:XX.m,此文件需要和plot_fft.m在同一文件夹。
XX.m内的代码如下
%CK.2022.05.23 %测试plot_fft函数 clc; clear; close all; %% %创建正弦信号序列 A=2; %信号幅值 f=100; %信号频率 fs=20*f; %采样频率 T=3; %信号总时间 t=0:1/fs:T; %信号时间向量 signal=sin(2*pi*f*t); %正弦信号 %创建完成 %% %调用plot_fft函数画频域图 figure(1); [F_fs,F_R]=plot_fft(signal,fs); plot(F_fs,F_R); title('正弦信号的频域图'); xlabel('f(hz)'); ylabel('F_R'); figure(2);%时域图 plot(t(1:100),signal(1:100)); %前100个数据的时域图 title('正弦信号的时域图'); xlabel('t(s)'); ylabel('signal');
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。