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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6665|回复: 6

[求助] 求教大神关于sigma-delta调制器行为仿真遇到的问题

[复制链接]
发表于 2013-5-30 22:33:33 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Eeking 于 2013-5-30 22:37 编辑

求教大神们,我按照Understanding Sigma Delta data convertors书设计了CIFF结构的二阶调制器,得出了a g b c参数,然后用SDtoolbox_Piero Malcovati这个行为仿真工具箱建立了行为仿真模型,在仿真时遇到了些问题:我的带宽是1KHz,过采样率为512,采样电容83fF,运放饱和电压设计的为3V,增益为80dB,GBW=200MHz,SR=20V/us;仿真时当输入幅值比较大时比如2.85V,只有输入信号频率为带宽临界频率1KHz时SNR才有120dB左右,其他频率点SNR都非常低,但当输入信号幅值比较小时,如0.15V,在整个频率带内SNR都比较高,位数也能达到16bits以上;疑问:
1,为何在输入信号幅值比较高时SNR下降如此厉害了,从图7可见,在输入为1V时SNR已经下降的很厉害了?产生这个的原因是结构没设计好?还是行为仿真模型不对?或者是所使用的行为仿真工具中的模型不准?因为在模型里已经设置运放饱和电压为3V了。
2,在仿真中发现同样的电路和参数运行几次得到的结果有差别,有时差别还比较大,产生这个的原因会是行为模型中噪声用随机函数      来模拟产生的缘故吗?
3,按照红皮书确定了电路结构和系数后,接下来要进行行为仿真,行为仿真模型是自己设计,还是利用一些专家开发的现成的工具箱里的模型?比如SDtoolbox_Piero Malcovati和SDT_Simona Brigati行为仿真工具箱。
4,利用MATLAB行为仿真定下各个子模块电路的spec后,接下来应该怎样做了?是否需要在cadence里用verilog-A建模,进行进一步的仿真分析?还是直接进行晶体管级设计?

问题比较多,还望大神不厌其烦帮我解答呀,拜谢了!!!

                               
登录/注册后可看大图


行为模型

                               
登录/注册后可看大图


仿真程序
clear

t0=clock;

% ************************************************************************
% Global variables
% ************************************************************************
bw=1e3;
% Base-band
R=512;
Fs=R*2*bw;
% Oversampling frequency
Ts=1/Fs;
N=2^14;
    % Samples number
nper=2;
Fin=nper*Fs/N;
% Input signal frequency (Fin = nper*Fs/N)
%Ampl=2.85;
% Input signal amplitude [V]
Ampl=0.15;
Ntransient=10;
%
%
k=1.38e-23;
% Boltzmann Constant
Temp=300;
% Absolute Temperature in Kelvin
Cs=83e-15;
% Integrating Capacitance of the first integrator
alfa=(1e4-1)/1e4;
% A=Op-amp finite gain (alfa=(A-1)/A -> ideal op-amp alfa=1)
Amax=3;
% Op-amp saturation value [V]
sr=20e6;
% Op-amp slew rate [V/s]
GBW=200e6;
% Op-amp GBW [Hz]
noise1=0;      
% 1st int. output noise std. dev. [V/sqrt(Hz)]
%delta=8e-9;        
% Random Sampling jitter (std. dev.)
delta=0;
NCOMPARATORI=1;        % one bit quantizer
match=9e-10;            % Realistic value, but not related to any technology (because of non disclosure agreement)

% Modulator coefficients
a1 = 1.9139;
a2 = 5.8782;
b1 = 0.6459;
c1 = 0.6459;
c2 = 0.1244;
g1 = 1.0091e-004;

finrad=Fin*2*pi;
% Input signal frequency in radians


% ************************************************************************
% Open Simulink diagram first
% ************************************************************************
open_system('TwoOrderDesignMdl')

options=simset('InitialState', zeros(1,3), 'RelTol', 1e-3, 'MaxStep', 1/Fs);
sim('TwoOrderDesignMdl', (N+Ntransient)/Fs, options);
% Starts Simulink simulation

% ************************************************************************
%   Calculates SNR and PSD of the bit-stream and of the signal
% ************************************************************************
w=hann_pv(N);
f=Fin/Fs;
% Normalized signal frequency
fB=N*(bw/Fs);
% Base-band frequency bins
yy1=zeros(1,N);
yy1=yout(2+Ntransient:1+N+Ntransient)';

ptot=zeros(1,N);
[snr,ptot]=calcSNR(yy1(1:N),f,1,fB,w,N);
Rbit=(snr-1.76)/6.02;
% Equivalent resolution in bits


仿真所得结果如下

                               
登录/注册后可看大图


图1:信号频率125Hz,幅值0.15V

                               
登录/注册后可看大图


图2:信号频率973Hz,幅值0.15V

                               
登录/注册后可看大图


图3:信号频率1KHz,幅值0.15V

                               
登录/注册后可看大图


图4:信号频率125Hz,幅值2.85V

                               
登录/注册后可看大图


图5:信号频率937Hz,幅值2.85V

                               
登录/注册后可看大图


图6:信号频率1KHz,幅值2.85V

                               
登录/注册后可看大图


图7:信号频率125Hz,幅值1V
 楼主| 发表于 2013-5-30 22:37:59 | 显示全部楼层
后面的文字为啥都加横线了??
发表于 2013-11-29 15:46:31 | 显示全部楼层
我不是做delta-sigma的,但看你第一个问题好像已经用管子在搭电路了? 你在系统设计的时候就应该找到你的Maximum Signal Amplitude (MSA),这是重要的系统参数之一,超过这个幅度,你的系统就会不稳定
发表于 2015-11-17 09:14:04 | 显示全部楼层
我也在搞这个呀
发表于 2015-11-17 17:05:18 | 显示全部楼层
我来尝试回答一下
1. 输入太大积分器会饱和造成snr下降, 可以看看understanding的图3.8. 一般测试的时候加的是-6dB的信号
2. ... 看不到图, 无法解释
3. 自己搭用Schreier的toolbox+simulink模型最好
4. MATLAB比较适合计算系数, 在晶体管级设计前最好搭个Verilog-A模型
发表于 2024-6-28 16:44:15 | 显示全部楼层


zhukh 发表于 2013-11-29 15:46
我不是做delta-sigma的,但看你第一个问题好像已经用管子在搭电路了? 你在系统设计的时候就应该找到你的Ma ...


请问怎么找到最大信号幅度啊
发表于 2024-11-16 19:39:50 | 显示全部楼层


penghe666 发表于 2024-6-28 16:44
请问怎么找到最大信号幅度啊


可以加斜坡信号,观察量化器输入,当量化器输入跳变到很大的值的时候,就只是输入的最大幅度
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-28 13:23 , Processed in 0.019603 second(s), 7 queries , Gzip On, Redis On.

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