📄 sig2ws.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 + -