signal.m
来自「基于matlab的面向对象的信号处理类库。主要应用于音频、语音信号的一些处理。内」· M 代码 · 共 52 行
M
52 行
function y = signal(s,tdef)% SIGNAL Construct a signal object%% Y=SIGNAL(S,FS)% Y=SIGNAL(S,T)% Y=SIGNAL(S,TIME)%% Construct a signal object from signal vector S. Time may be% defined by sampling frequency (FS>1) or step size (T<1) or as% a time object TIME.% assumptions:% % if tdef<1, tstep = tdef% if tdef>=1, fs = tdef% $Id: signal.m 53 2005-01-05 11:17:56Z mairas $% introduce member variablesy.time = [];y.s = [];% Defining fs here is a mistake. However, it cannot be removed, as% that would break all saved signal objects.y.fs = []; y.valid = 0;if nargin >= 1 y.s = s(:)'; % make the signal always a row vector y.valid = 1;else y.s = []; y.valid = 0; tdef = 0;endif isa(tdef,'time') if length(y.s)~=tdef.num error('Mismatch between lengths of signal and time.'); end y.time = tdef; y.fs = y.time.fs;elseif length(tdef)>1 y.time = time(tdef);elseif (tdef<1) && (tdef~=0) y.time = time(struct('begin',0,'num',length(y.s),'tstep',tdef));else % tdef >= 1 y.time = time(struct('begin',0,'num',length(y.s),'fs',tdef));endy = class(y,'signal');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?