菜鸟求解答啊

2019-07-17 14:36发布

function [M,m]=fft_seq(m,ts)
fs=1/ts;
if nargin==2
     n1=0
else
     n1=fs/df
end
n2=length(m);n=2^(max(nextpow2(n1),nextpow2(n2)));
M=fft(m,n);m=[m,zeros(1,n-n2)];df=fs/n
这句是什么意思呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
去扭曲机器
1楼-- · 2019-07-17 18:03
其实这句话上面还有其他语句的,只是我觉得发的这一句里面的一些语句有问题,但是没了这句又运行不了,小弟在此求高手解答了整个语句如下:
function sample()
t0=10;                   %定义时间长度
ts=0.001;    fs=1/ts;  
t=[-t0/2:ts:t0/2];         %定义时间序列
x=sin(100*t); m=x./(100*t+eps);
w=t0/(2*ts)+1;           %确定t=0的点
m(w)=1;          %修正t=0点的信号值
m=m.*m;
[M,mn]=fft_seq(m,ts);          %傅立叶变换
M=M/fs;
figure(1)
subplot(3,1,1); plot(t,m);grid on;
xlabel('时间');ylabel('幅值');title('原始信号(fh=200/2piHz)的波形');
axis([-0.15,0.15,0,1.5]);
t0=10;                      %信号持续的时间
ts1=0.005;                    %满足抽样条件的抽样间隔
fs1=1/ts1;
t1=[-t0/2:ts1:t0/2];         %定义满足抽样条件的时间序列
x1=sin(100*t1);  m1=x1./(100*t1+eps);  w1=t0/(2*ts1)+1;   
m1(w1)=1;              %修正t=0时的信号值
m1=m1.*m1;            %定义信号
[M1,mn1]=fft_seq(m1,ts1); %对满抽样条件的信号进行傅立叶变换
M1=M1/fs1;N1=[M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1,M1];
%抽样正常信号%  
subplot(3,1,2); stem(t1,m1);
xlabel('时间');ylabel('幅值');
title('抽样正常(fs=200Hz)时的信号波形');axis([-0.15,0.15,0,1]);
t0=10;                      %信号持续的时间
ts2=0.01;                   %不满足抽样条件的抽样间隔
fs2=1/ts2;
t2=[-t0/2:ts2:t0/2];  %定义不满足抽样条件的时间序列
x2=sin(100*t2); m2=x2./(100*t2+eps);  w2=t0/(2*ts2)+1;   
m2(w2)=1;             %修正t=0时的信号值
m2=m2.*m2;      %定义信号
[M2,mn2]=fft_seq(m2,ts2);%对不满足抽样条件的信号进行傅立叶变换
M2=M2/fs2;N2=[M2,M2,M2,M2,M2,M2,M2,M2,M2,M2,M2,M2,M2];
%抽样失真信号%
subplot(3,1,3); stem(t2,m2);
xlabel('时间');ylabel('幅值');title('抽样失真(fs=200Hz)时的信号波形');
axis([-0.15,0.15,0,1]);;
function [M,m]=fft_seq(m,ts)
fs=1/ts;
if nargin==2
     n1=0
else
     n1=fs/df
end
n2=length(m);n=2^(max(nextpow2(n1),nextpow2(n2)));
M=fft(m,n);m=[m,zeros(1,n-n2)];df=fs/n
去扭曲机器
2楼-- · 2019-07-17 23:36
 精彩回答 2  元偷偷看……

一周热门 更多>