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

📄 sim2logi.m

📁 数字通信第四版原书的例程
💻 M
字号:
function tran_func = sim2logi(sim_file);
%SIM2LOGIC Convert a SIMULINK block diagram to convolution code logic representation.
%       TRAN_FUNC = SIM2TRAN(SIM_FILE) reads in a SIMULINK block diagram file
%       specified in the string SIM_FILE. The function outputs TRAN_FUNC in
%       the form of
%

%       Wes Wang 12/95
%       Copyright (c) 1995-96 by The MathWorks, Inc.
%       $Revision: 1.1 $  $Date: 1996/04/01 18:03:37 $

eval(['ext = ' sim_file '(0, [], [], 0);']);
M = ext(2); %state number
N = ext(3); %ouptut number
K = ext(4); %input number
x = []; y = [];
for i = 0 : 2^K - 1
    % input index
    u = mat2str(de2bi(i, K));
    for j = 0 : 2^M - 1
        % state index
        x0 = mat2str(de2bi(j, M));
        eval(['ext = ' sim_file '(1, ' x0 ',' u ', 7);']);
        x = [x; ext'];
        eval(['ext = ' sim_file '(1, ' x0 ',' u ', 3);']);
        y = [y; ext'];
    end;
end;
if (size(x, 2) == 1) & (size(y, 2) == 1)
    tran_func = [ [Inf N]; [M K];[x y]];
elseif size(x, 2) == 1
    tran_func = [ [Inf N]; [M K];[x bi2de(y)]];
elseif size(y, 2) == 1
    tran_func = [ [Inf N]; [M K];[bi2de(x) y]];
else
    tran_func = [ [Inf N]; [M K];[bi2de(x) bi2de(y)]];
end;

⌨️ 快捷键说明

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