• 大小: 963B
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-15
  • 语言: Matlab
  • 标签: matlab  DFT  

资源简介

使用matlab做任意长度的DFT,绘制时域频域图像,对比。更改N为时域信号长度,L为做DFT点数。N<L,则补零。N,L可更改参数。

资源截图

代码片段和文件信息

tic%计算运行时间
N=30;%时域采样信号有N点
ft=600;%时域的采样频率
dt=1/ft;%时域采样间隔dt
%采样时长为N*dt
n=0:N-1;
t=n*dt;%时域采样对应的时间
L=512;%DFT点数
ws=2*pi*ft;%频域下的采样周期
f1=100;
f2=120;
x=cos(2*pi*f1*t)+cos(2*pi*f2*t);%时域信号
x(1L)=0; %补零
a=zeros(1L);%空数组以保存实部序列
b=zeros(1L);%空数组以保存虚部序列
c=zeros(1L);%空数组以保存幅值序列
for k=0:L-1
    for i=0:L-1
        a(k+1)=a(k+1)+x(i+1)*cos(2*pi*k*i/L);
        b(k+1)=b(k+1)-x(i+1)*sin(2*pi*k*i/L

评论

共有 条评论