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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2676|回复: 2

[求助] 复数滤波器频率响应曲线仿真问题

[复制链接]
发表于 2016-5-3 11:25:19 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 djhui00 于 2016-5-3 11:43 编辑

本人最近在做一个有源复数带通滤波器,首先是综合出低通滤波器,再进行两个低通滤波器耦合,所以输入和输出是差分正交信号,我是利用rfLib中的ideal_demodulator产生复数信号的,(之前也试过利用两个信号源产生相位差90的正交信号)我想得到增益频率曲线,但是传统的输出比上输入不可行,我上edaboard找过相关帖子,他们说是不能直接仿真得到,需要额外对数据进行处理,他们该提供了一个脚本进行数据处理,但是我执行脚本的时候提示语法错误,本人对Skill语言不是很了解,所以至今仍卡在复数滤波器的仿真方法上,希望有懂这方便的大神能帮帮忙!

以下是我利用ideal_demodulator搭建的仿真电路:请大神帮忙纠错!!!

复数滤波器仿真电路

复数滤波器仿真电路





下面是之前子啊edaboard找到的数据处理脚本:大家帮忙看看哪里有错!
  

procedure(  bb_ac_probe(wfI, wfQ)

  

  let( (I_p, I_n, Q_p, Q_n, p, n, xvec_p,  yvec_p, xvec_n, yvec_n, i, nlen)

  

    I_p = wfI

  

    I_n = flip( conjugate(I_p) )

    Q_p = wfQ

    Q_n = flip( conjugate(Q_p) )


    p = I_p + complex(0.0, 1.0)*Q_p

    n = I_n + complex(0.0, 1.0)*Q_n


    xvec_p = drGetWaveformXVec(p)

    yvec_p = drGetWaveformYVec(p)

    xvec_n = drGetWaveformXVec(n)

    yvec_n = drGetWaveformYVec(n)


    nlen = drVectorLength(xvec_n)


    for(i, 1, nlen-1

  

        drAddElem( xvec_n, drGetElem(xvec_p,  i) )

        drAddElem( yvec_n, drGetElem(yvec_p,  i) )

    ); for

    drCreateWaveform(xvec_n, yvec_n)

  ); let

); procedure

  

附上edaboard中的帖子链接:http://www.edaboard.com/thread346908.html

另外,存在这样的情况:

(i).
When Qin=-j*Iin(mag of Iin and Qin=1, phase of Iin=0deg, phase ofQin=-90deg), Iout=(Hi+j*Hq)*Iin. Qout=(Hi+j*Hq)*Qin, So H=Iout/Iin=Qout/Qin.

但是我按照上面的公式去设置,直接仿真出来的结果还是不对。

以上是我的问题,希望有大神能帮我解决,谢谢!!!

 楼主| 发表于 2016-5-7 10:24:56 | 显示全部楼层
没人帮忙吗?
发表于 2016-11-9 20:02:50 | 显示全部楼层
楼主搞定没
向楼主取经
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 23:39 , Processed in 0.025845 second(s), 10 queries , Gzip On, Redis On.

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