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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 492|回复: 8

[求助] 【求助】NS SAR建模问题

[复制链接]
发表于 2025-8-17 18:20:04 | 显示全部楼层 |阅读模式

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

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

×
使用MATLAB对NS SAR进行建模,代码如下,FFT中可以大致看出噪声整形的效果,但是似乎对带内量化噪声的消除作用不大,为什么?:

function [D,Vdacp,Vdacn]=SAR_FUN(N,num,Vref,Vin_p,Vin_n,k,T,C_tot_p,C_tot_n,C_act_p,C_act_n,Comp_offset,Comp_noise)

Vint1_CIFF_p = 0;
Vint1_CIFF_n = 0;
Vint2_CIFF_p = 0;
Vint2_CIFF_n = 0;

VEF_DLY1_p = 0;
VEF_DLY2_p = 0;
VEF_DLY1_n = 0;
VEF_DLY2_n = 0;

for j=1:num % 使用for循环来实现周期工作过程
    Vip=Vin_p(j); % 正输入端电压,单次
    Vin=Vin_n(j); % 负输入端电压,单次

    Vip=Vip+sqrt(k*T/C_tot_p)*randn(1,1);
    Vin=Vin+sqrt(k*T/C_tot_n)*randn(1,1);

    Vip = Vip + 2 * VEF_DLY1_p - VEF_DLY2_p;
    Vin = Vin + 2 * VEF_DLY1_n - VEF_DLY2_n;

    Vresp(1)=Vip;
    Vresn(1)=Vin;

    for i=1:N-1
        if ((Vip-Vin) + 4 * (Vint1_CIFF_p - Vint1_CIFF_n) + 16 * (Vint2_CIFF_p - Vint2_CIFF_n))  <= Comp_offset+Comp_noise*randn(1,1)
            B(i)=0;

            Vip=Vip+Vref/2*C_act_p(i)/C_tot_p; % Vcm-Based时序
            Vin=Vin-Vref/2*C_act_n(i)/C_tot_n;
            % Vip=Vip+Vref*C_act_p(i)/C_tot_p; % Monotonic时序
            % Vin=Vin-Vref*C_act_n(i)/C_tot_n;
            Vresp(i+1)=Vip;
            Vresn(i+1)=Vin;
        else
            B(i)=1;

            Vip=Vip-Vref/2*C_act_p(i)/C_tot_p; % Vcm-Based时序
            Vin=Vin+Vref/2*C_act_n(i)/C_tot_n;
            % Vip=Vip-Vref*C_act_p(i)/C_tot_p; % Monotonic时序
            % Vin=Vin+Vref*C_act_n(i)/C_tot_n;
            Vresp(i+1)=Vip;
            Vresn(i+1)=Vin;
        end
    end
   
    if ((Vip - Vin) + 4 * (Vint1_CIFF_p - Vint1_CIFF_n) + 16 * (Vint2_CIFF_p - Vint2_CIFF_n))  <= Comp_offset+Comp_noise*randn(1,1)
        B(N)=0;
        Vresp(N+1)=Vip;
        Vresn(N+1)=Vin;
    else
        B(N)=1;
        Vresp(N+1)=Vip;
        Vresn(N+1)=Vin;
    end

    D(j,=B; % ADC的数字码输出
    Vdacp(j,=Vresp; % ADC的正端CDAC上的余差电压
    Vdacn(j,=Vresn; % ADC的负端CDAC上的余差电压


    VEF_DLY2_p = VEF_DLY1_p;
    VEF_DLY2_n = VEF_DLY1_n;
    VEF_DLY1_p = Vip;
    VEF_DLY1_n = Vin;

    %VresLap_p = Vip * 0.75;

    %** 积分第一阶段 **%
    %Vint1_CIFF_p = (3 * Vint1_CIFF_p + VresLap_p) / 4;
    %VresLap_p = Vint1_CIFF_p;

    %** 积分第二阶段 **%
    %Vint2_CIFF_p = (3 * Vint2_CIFF_p + VresLap_p) / 4;
    %VresLap_p = Vint2_CIFF_p;

    %VresLap_n = Vin * 0.75;

    %** 积分第一阶段 **%
    %Vint1_CIFF_n = (3 * Vint1_CIFF_n + VresLap_n) / 4;
    %VresLap_n = Vint1_CIFF_n;

    %** 积分第二阶段 **%
    %Vint2_CIFF_n = (3 * Vint2_CIFF_n + VresLap_n) / 4;
    %VresLap_n = Vint2_CIFF_n;
end
QQ图片20250817181952.png






发表于 2025-8-18 22:09:59 | 显示全部楼层
本帖最后由 胖虎17风发 于 2025-8-18 22:25 编辑

你好,问题解决了吗?好像是因为矩形框里这一段代码哦,我知道这是在描述SAR ADC电路最后一bit只比较不逼近,但是如果这样的话你的Vresp(N+1)-Vresp(N+1)并不是滤波器需要的Vres输入信号。修改方案:最后一bit需要和前面的bit一样,既有B(i)比较结果,又有逼近动作,即你代码中Vip Vin数值的更新。附件是我在你代码的基础上根据需要进行了改动,其中部分引入非理想因素的代码被我删掉了,复制MATLAB中可直接运行,你可以试一下。

eetop_ef_ff.txt

3.03 KB, 下载次数: 5 , 下载积分: 资产 -2 信元, 下载支出 2 信元

回复 支持 1 反对 0

使用道具 举报

发表于 2025-8-18 10:00:24 | 显示全部楼层
积分电容的电压每个周期都会清零?似乎不对吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-8-18 21:53:43 | 显示全部楼层


   
jx2016 发表于 2025-8-18 10:00
积分电容的电压每个周期都会清零?似乎不对吧


清零写在for循环外面去了
回复 支持 反对

使用道具 举报

发表于 2025-8-18 22:22:53 | 显示全部楼层
本帖最后由 胖虎17风发 于 2025-8-18 22:31 编辑

表格是SNR Improvement与OSR及NS_order的关系,附件中现用8bit SAR ADC,输入信号-1dBFS,无NS的SNR约为6.02*8+1.76-1=48dB
滤波器直接沿用了你的2阶EF滤波器,当OSR=4时,SNR=48+17=65dB;当OSR=8时,SNR=48+32=80dB均与理论值相符
你也可自己更改其他数值进一步验证
OSR_4.png
OSR_8.png
SQNR_OSR_Order.png
回复 支持 反对

使用道具 举报

发表于 2025-8-18 22:27:05 | 显示全部楼层


   
胖虎17风发 发表于 2025-8-18 22:09
你好,问题解决了吗?好像是因为矩形框里这一段代码哦,我知道这是在描述SAR ADC电路最后一bit只比较不逼近 ...


补图
Code.png

点评

感谢您的回复!  发表于 2025-8-20 14:53
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2025-8-20 14:48:08 | 显示全部楼层


   
胖虎17风发 发表于 2025-8-18 22:22
表格是SNR Improvement与OSR及NS_order的关系,附件中现用8bit SAR ADC,输入信号-1dBFS,无NS的SNR约为6.0 ...


很抱歉现在才看到,十分感谢您的回复!帮大忙了
回复 支持 反对

使用道具 举报

发表于 2025-8-20 14:58:18 | 显示全部楼层


   
Konata_Lin 发表于 2025-8-20 14:48
很抱歉现在才看到,十分感谢您的回复!帮大忙了


哈哈有帮到你很开心哦不必觉得抱歉~祝顺利
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-9-7 16:01 , Processed in 0.025427 second(s), 12 queries , Gzip On, Redis On.

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