在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7271|回复: 12

delsig工具包中遇到的棘手问题??

[复制链接]
发表于 2008-7-25 15:32:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
用delsig工具包做sigma-delta的系统仿真,出现了一些问题,搞不明白,发个贴大家都来讨论一下。

1.在delta-sigma数据转换器中的讲解设计噪声函数的时候一般用工具包里面的synthesizeNTF函数,但我看了一下,好像里面的量化器只有默认的一位,如果我要做多位的量化器仿真,不是没着了吗?还好,后面一个函数clans据说能够进行多位仿真,于是我写了一下程序:
  order=3;
OSR=64;
opt=1;
Q=3;
%H=synthesizeNTF(order,OSR,opt);  注:这行如果用来替代下面一行,是可以用的
H=clans(order,OSR,Q,0.95,opt);
figure(1);
plotPZ(H);
f=linspace(0,0.5,1000);
z=exp(2*pi*f);
figure(2);
plot(f,dbv(evalTF(H,z)));
sigma_H=dbv(rmsGain(H,0,0.5/OSR))

用clans仿真,调用的时候出现了一个错误,如下:
??? Error using ==> fmincon
FMINCON cannot continue because user supplied nonlinear constraint function
failed with the following error:
Error using ==> rfinputs
Not supported for models with complex data.

Error in ==> clans6 at 35
x = fmincon(@(x)dsclansObj6a(x,order,OSR,Q,rmax,Hz),x,...

Error in ==> clans at 19
    NTF=clans6(order,OSR,Q,rmax,opt);

Error in ==> NTF_test at 6
H=clans(order,OSR,Q,0.95,opt);

   把fmincon函数调用的地方贴出来:
% Run the optimizer
options = optimset('TolX',1e-6, 'TolFun',1e-6, 'TolCon',1e-6, 'MaxIter',1000 );
options = optimset(options,'Display','off');
options = optimset(options,'Diagnostics','off');
options = optimset(options,'LargeScale','off');
x = fmincon(@(x)dsclansObj6a(x,order,OSR,Q,rmax,Hz),x,...
    [],[],[],[],[],[],@(x)dsclansObj6b(x,order,OSR,Q,rmax,Hz),options);
NTF = dsclansNTF(x,order,rmax,Hz);
return
function f=dsclansObj6a(x,order,OSR,Q,rmax,Hz)
% Objective function for clans; Optimization Toolbox version >= 6
% f is the magnitude of H at the band-edge
H = dsclansNTF(x,order,rmax,Hz);
f = abs(evalTF(H,exp(1i*pi/OSR)));
return
function [g,g_eq]=dsclansObj6b(x,order,OSR,Q,rmax,Hz)
% Constraint function for clans; Optimization Toolbox version >= 6
% g =||h||_1 - Q
H = dsclansNTF(x,order,rmax,Hz);
g = sum(abs(impulse(H,100))) -1 - Q;
g_eq = [];
return
       有没有知道这是什么问题啊?

      2.还有一个小问题,那个SDtool中有个ADC-DAC模块,里面有个比较器的个数,怎么将其余量化器的位数联系起来啊??
 楼主| 发表于 2008-7-25 20:32:10 | 显示全部楼层
自己顶一下吧,不能让帖子沉下去了!
发表于 2014-5-27 12:55:19 | 显示全部楼层
我在运行synthesizeNTF的时候出现了如下错误
??? Undefined function or method 'zpk' for input arguments of type 'double'.

Error in ==> synthesizeNTF at 82
ntf = zpk(z,zeros(1,order),1,1);

zpk函数缺少?
发表于 2015-3-18 09:25:49 | 显示全部楼层
不知道大神解决问题了吗?最近也在做,那个synthesizeNTF函数只能用作1bit量化位数吗?还有clans函数Q和rmax分别是什么含义啊,谢谢啊
发表于 2015-8-10 22:35:56 | 显示全部楼层
比较器个数 = 量化器的级数level - 1
发表于 2018-11-17 22:27:23 | 显示全部楼层
感謝大大分享
发表于 2021-1-9 14:08:49 | 显示全部楼层
这个clans函数需要一个H_inf参数,楼主有没有解决这个问题,如何读入这个参数呢
发表于 2024-11-28 16:58:09 | 显示全部楼层


yangyu3213 发表于 2014-5-27 12:55
我在运行synthesizeNTF的时候出现了如下错误
??? Undefined function or method 'zpk' for input arguments ...


请问这个是为啥
发表于 2024-11-29 10:14:42 | 显示全部楼层


挖的一手好坟。。。。。
发表于 2024-11-29 10:16:24 | 显示全部楼层
我印象里synthesizeNTF是可以拟合多位量化的,因为之前用这个拟合过6位量化
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-24 04:59 , Processed in 0.033166 second(s), 8 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表