⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dfftgen.m

📁 trabajos en matlab para verificar son muy buenos
💻 M
字号:
function [new_y,t_vec,alias_y,n_vec,new_sig,fa] = dfftgen
% DFFTGEN Signal generator for DFFTGUI.
%
% Author: Craig Borghesani <cborg@terasoft.com>
% Date: 11/11/95 4:00 PM
% Revised: 11/23/95 12:39 PM
% Modified AA Sep 20,96 (to use degrees instead of radians)

f = gcf;
ui = get(f,'userdata');
ele_mat = get(ui(1),'userdata');
sample_edt = ui(24);
number_edt = ui(27);
sample_freq = str2num(get(sample_edt,'string'));

[r,c] = size(ele_mat);
i = sqrt(-1);


% Number of samples
   len_val =eval(['[',get(number_edt,'string'),']']);
   N=len_val(1);

% DT index to plot samples
n_vec=(0:N-1)/sample_freq;

% obtain plotting range values
   duration = N/sample_freq;

% CT index to plot actual signal on denser array
%t_vec=(0:200)*duration/200;
fmax=max(ele_mat(1:r,2));
M=round(20*duration*fmax);M=min(M,8000);
t_vec=(0:M)*duration/M;

new_y = zeros(size(t_vec));
alias_y = zeros(size(n_vec));
new_sig = zeros(size(t_vec));

% if no signal defined, get out.
if ~length(ele_mat),
   fa = [];
   return;
end

% Compute aliased frequencies
f0 = ele_mat(:,2);
fa = rem(f0,sample_freq);
q = find(fa > 0.5*sample_freq);
if ~isempty(q),
   fa(q) = fa(q)-sample_freq;
end

for k = 1:r,

   val1 = ele_mat(k,1);
   val2 = ele_mat(k,2);
   val3 = ele_mat(k,3);
   val4 = fa(k);

%%%%%%%% In ALIASGUI & DFFTGUI, phase is now stored in degrees %%%%%%%%
val3 = pi*val3/180;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   y =  val1 * cos(2*pi*val2*t_vec + val3);
   ay = val1 * cos(2*pi*val2*n_vec + val3);
   ny = val1 * cos(2*pi*val4*t_vec + val3);
   new_y = new_y + y;
   alias_y = alias_y + ay;
   new_sig = new_sig + ny;

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -