许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Matlab定点仿真与加速定点仿真方法

Matlab定点仿真与加速定点仿真方法

阅读数 4
点赞 0
article_banner

示例说明

此示例使用一阶反馈回路。它还使用量化器来避免无限的位增长。输出信号被延迟一个采样周期并通过回馈来缓冲输入信号。

2de46162d198c778e118e6c1ed08023a.png

复制必需的文件

您需要此 MATLAB 文件来运行此示例。将其复制到临时目录。此步骤需要具有对系统临时目录的写入访问权限。

tempdirObj = fidemo.fiTempdir('fiaccelbasicsdemo');

fiacceldir = tempdirObj.tempDir;

fiaccelsrc = ...

fullfile(matlabroot,'toolbox','fixedpoint','fidemos','+fidemo','fiaccelFeedback.m');

copyfile(fiaccelsrc,fiacceldir,'f');

检查 MATLAB 反馈函数代码

执行反馈回路的 MATLAB 函数位于文件 fiaccelFeedback.m 中。以下代码将量化输入,并执行反馈回路操作:

type(fullfile(fiacceldir,'fiaccelFeedback.m'))

function [y,w] = fiaccelFeedback(x,a,y,w)

%FIACCELFEEDBACK Quantizer and feedback loop used in FIACCELBASICSDEMO.

% Copyright 1984-2013 The MathWorks, Inc.

%#codegen

for n = 1:length(x)

y(n) = quantize(x(n) - a*w, true, 16, 12, 'floor', 'wrap');

w = y(n);

end

此函数中使用以下变量:

x 是输入信号向量。

y 是输出信号向量。

a 是反馈增益。

w 是延迟一个单位时间的输出信号。

创建输入信号并初始化变量

rng('default'); % Random number generator

x = fi(2*rand(1000,1)-1,true,16,15); % Input signal

a = fi(.9,true,16,15); % Feedback gain

y = fi(zeros(size(x)),true,16,12); % Initialize output. Fraction length

% is chosen to prevent overflow

w = fi(0,true,16,12); % Initialize delayed output

A = coder.Constant(a); % Declare "a" constant for code

% generation

运行 Normal 模式

tic,

y = fiaccelFeedback(x,a,y,w);

t1 = toc;

编译反馈代码的 MEX 版本

fiaccel fiaccelFeedback -args {x,A,y,w} -o fiaccelFeedback_mex

运行 MEX 版本

tic

y2 = fiaccelFeedback_mex(x,y,w);

t2 = toc;

加速比

代码加速为通过 MEX 文件生成加速定点算法提供优化。Fixed-Point Designer™ 提供了一个方便的函数 fiaccel 来将您的 MATLAB 代码转换为 MEX 函数,这可以大大加快定点算法的执行速度。

r = t1/t2

r =

13.7451

清理临时文件

clear fiaccelFeedback_mex;

tempdirObj.cleanUp;

%#ok


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空