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

📄 sig2ws.m

📁 ADSP TOOLBOX: Version 2.0 and gui m-files
💻 M
字号:
function [outarg1, outarg2, outarg3, outarg4, outarg5, outarg6] = sig2ws(mode)
% SIG2WS Signal to workspace.

% Author: Craig Borghesani <cborg@terasoft.com>
% Date: 4/6/97 12:09PM
% Copyright (c) 1997 by Prentice-Hall, Inc.

outarg1 = []; outarg2 = [];
outarg3 = []; outarg4 = [];
outarg5 = []; outarg6 = [];

f = gcf;

%% SIGGUI
if mode == 1,

   disp('Data exported:');
   disp('     n_sigy - DT Index for y[n]');
   disp('     sigy   - y[n]');
   disp('     n_sigx - DT Index for x[n]');
   disp('     sigx   - x[n]');

   ui = get(f,'userdata');
% y[n]
   axs_han = get(ui(7),'userdata');
   line_han = get(axs_han,'userdata');

   outarg1 = get(line_han(1),'xdata');
   outarg2 = get(line_han(1),'ydata');
   loc_nan = find(isnan(outarg1));
   outarg1([loc_nan,loc_nan-1]) = [];
   outarg2([loc_nan,loc_nan-1]) = [];

% x[n]
   axs_han = get(ui(6),'userdata');
   line_han = get(axs_han,'chil');

   outarg3 = get(line_han(1),'xdata');
   outarg4 = get(line_han(1),'ydata');
   loc_nan = find(isnan(outarg3));
   outarg3([loc_nan,loc_nan-1]) = [];
   outarg4([loc_nan,loc_nan-1]) = [];

%% DTSYSGUI
elseif mode == 2,

   disp('Data exported:');
   disp('     n_sys    - DT Index for system response');
   disp('     sys_resp - system response');

   ui = get(f,'userdata');
   line_han = get(ui(32),'children');

   outarg1 = get(line_han(1),'xdata');
   outarg2 = get(line_han(1),'ydata');
   loc_nan = find(isnan(outarg1));
   outarg1([loc_nan,loc_nan-1]) = [];
   outarg2([loc_nan,loc_nan-1]) = [];

%% CONVGUI
elseif mode == 3,
   ui = get(f,'userdata');
   yn_data = get(ui(51),'userdata');

   disp('Data exported:');
   disp('     n_x     - DT Index for system response');
   disp('     sig_x   - system response');
   disp('     n_h     - DT Index for system response');
   disp('     sig_h   - system response');

   if isempty(yn_data),
      disp('     n_index - [not yet defined]');
      disp('     n_resp  - [not yet defined]');

   else
      disp('     n_index - DT Index for system response');
      disp('     n_resp  - system response');
      outarg5 = yn_data(1,:);
      outarg6 = yn_data(2,:);
   end

   outarg1 = get(ui(30),'xdata');
   outarg2 = get(ui(30),'ydata');
   loc_nan = find(isnan(outarg1));
   outarg1([loc_nan,loc_nan-1]) = [];
   outarg2([loc_nan,loc_nan-1]) = [];

   outarg3 = get(ui(33),'xdata');
   outarg4 = get(ui(33),'ydata');
   loc_nan = find(isnan(outarg3));
   outarg3([loc_nan,loc_nan-1]) = [];
   outarg4([loc_nan,loc_nan-1]) = [];

%% INTERGUI
elseif mode == 5,

   ui = get(f,'userdata');

   disp('Data exported:');
   disp('     orig_val   - Original samples');
   disp('     inter_data - Interpolated data');

   outarg1 = get(ui(1),'userdata');  % original data
   outarg2 = get(ui(2),'userdata');  % interpolated data
   outarg2 = outarg2(:)';

%% QUANTGUI
elseif mode == 6,

   ui = get(f,'userdata');

   disp('Data exported:');
   disp('     sig_val   - Original samples');
   disp('     quant_val - Quantized data');

   outarg1 = get(ui(1),'userdata');  % original data
   outarg2 = get(ui(2),'userdata');  % quantized data

%% WINGUI
elseif mode == 8,

   ui = get(f,'userdata');
   win_line    = ui(18:19);

   disp('Data exported:');
   disp('     win_coeffs - Window coefficients');

   outarg1 = get(win_line(1),'ydata');
   loc_nan = find(isnan(outarg1));
   outarg1([loc_nan,loc_nan-1]) = [];

%% IDEALGUI
elseif mode == 9,

   ui = get(f,'userdata');

   disp('Data exported:');
   disp('     win_filt - Coefficients of windowed filter');

   outarg1 = get(ui(1),'userdata');

%% PZGUI
elseif mode == 13,

   ui          = get(f,'userdata');
   pole_mat    = get(ui(40),'userdata');
   zero_mat    = get(ui(41),'userdata');

   if length(zero_mat),
      num = zero_mat(:,3);
      numi = num(find(imag(num)~=0));
      num = [num;conj(numi)];
   else
      num = [];
   end

   if length(pole_mat),
      den = pole_mat(:,3);
      deni = den(find(imag(den)~=0));
      den = [den;conj(deni)];
   else
      den = [];
   end

   disp('Data exported:');
   disp('     num_pz - Numerator');
   disp('     den_pz - Denominator');

% generate coefficients
   outarg1 = poly(num);
   outarg2 = poly(den);

%% IIRGUI
elseif mode == 14,
   ui = get(f,'userdata');

   disp('Data exported:');
   disp('     num_iir - Numerator');
   disp('     den_iir - Denominator');

   outarg1 = get(ui(1),'userdata');
   outarg2 = get(ui(2),'userdata');

%% FIRGUI
elseif mode == 15,

   ui = get(f,'userdata');

   disp('Data exported:');
   disp('     fir_coeffs - Filter coefficients');

   outarg1 = get(ui(1),'userdata');

%% SPECGUI
elseif mode == 16,

   ui = get(f,'userdata');

   disp('Data exported:');
   disp('     filt_coeffs - Filter coefficients');

   outarg1 = get(ui(1),'userdata');

%% S2ZGUI
elseif mode == 17,

   ui = get(f,'userdata');

   disp('Data exported:');
   disp('     num_s2z - Numerator');
   disp('     den_s2z - Denominator');

   outarg1 = get(ui(3),'userdata');
   outarg2 = get(ui(4),'userdata');

end

⌨️ 快捷键说明

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