当前位置:   article > 正文

使用matlab画信号的频域图_matlab频域图怎么画

matlab频域图怎么画

1.创建函数文件:plot_fft.m

文件内的代码如下

%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			
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2.调用

创建测试文件: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');

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

3.结果

频域图
在时域图

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/106590
推荐阅读
相关标签
  

闽ICP备14008679号