• 大小: 16KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: Matlab
  • 标签: matlab  

资源简介

signal.slx为simulink的一个仿真模块,用作对信号采样
myDFT.m为DFT的实现
n1为选取的一个周期点数(与simulink模块采样周期匹配,点数=T/Ts)
T:最小周期
Ts:采样周期

运行:先运行signal.slx,再运行myDFT.m

资源截图

代码片段和文件信息

%clear all
close all
%load sin.mat %使用自己的数据

n1=1:21;%取一个周期

N=length(n1);
t=ScopeData(n11);
data=ScopeData(n12);
%t=sinData(n11);
%data=sinData(n12);
figureplot(tdata);%原数据图
title(‘data‘);
%DFT

%%
%基函数
W=exp(-j*2*pi/N);

%%
%DFT变换
X=zeros(1N);
for k=1:N
    for i=1:N
         X(k)=X(k)+data(i)*W^((i-1)*(k-1));
    end
end
figure(2)plot(n1-1X);%频谱
title(‘频谱‘)
%%
%DFT反变换
x=zeros(1N);
for i=1:N
    for k=1:N
        x(i)=x(i)+X(k)*W^(-(k-1)*(i-1));
    end
end
x=x/N;
figure(3)plot(tx);%恢复数据
title(‘recover data‘);
%result=int(X1‘w‘-pipi)/(2*pi);
% w=-pi;
% result1=eval(result);
% w=pi;
% result2=eval(result);
% (result2-result1)/(2*pi)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         201  2020-02-17 17:47  code\ReadMe.txt
     文件         733  2017-12-04 21:15  code\myDFT.m
     文件       15524  2017-12-04 20:14  code\signal.slx
     文件         759  2017-12-04 18:47  code\sin.mat
     目录           0  2017-12-04 21:14  code\

评论

共有 条评论