• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. RF Design
  3. S-parameters from a RF Circuit - Circulator created from...

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 63
  • Views 6388
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

S-parameters from a RF Circuit - Circulator created from LC resonators

EduardoGS
EduardoGS over 8 years ago

Hello everyone.

I am trying to simulate, for my undergraduate thesis, a new RF circulator that was published by Nature Physics on article called "Magnetic-free non-reciprocity and isolation based on parametrically modulated coupled-resonator loops".

My doubt is how to create a setup that understands one RF signal (sweep from 140MHz to 200Mhz) modulated by a signal with fixed frequency (15Mhz) and that has phase 120º  difference between each one. After this, my goal is to plot S parameters and see the transmission from  port 1 to ports 2 and 3. My curent setup use QPSS and QPSP, but the results are not good.

I have the article and I can send to you to read and understand better the problem if you wish.

Best regards.

  • Cancel
Parents
  • EduardoGS
    EduardoGS over 8 years ago

    I was simulated again with your specifications. The results were the same, but the time of simulation was reduced.

    Here the input.scs:

    // Generated for: spectre
    // Generated on: Sep 26 22:40:41 2016
    // Design library name: TCC2
    // Design cell name: circulador_1_TB
    // Design view name: schematic
    simulator lang=spectre
    global 0
    parameters Fm=15.00000M Vm=600m C1=300p Cc=5.6p Cdcb=10u L1=270n L2=27n \
        Lc=1u Lrfc=2.7u Vdc=1.99 Frf=170M
    include "/usr/local/IC614/tsmc13/tsmc13rf/../models/tsmc13rf.scs"
    include "/home/eslam/TCC2/diode.scs"

    // Library name: TCC2
    // Cell name: varactor_SMV1237
    // View name: schematic
    subckt varactor_SMV1237 P_anode P_cathode
        D0 (net010 P_cathode) Diode_Model area=1
        R0 (net07 net010) resistor r=130.00m
        C0 (net07 P_cathode) capacitor c=9p
        L0 (P_anode net07) inductor l=1.7n
    ends varactor_SMV1237
    // End of subcircuit definition.

    // Library name: TCC2
    // Cell name: circulador_1
    // View name: schematic
    subckt circulador_1 Porta1 Porta2 Porta3 Porta4 Porta5 Porta6
        L14 (net30 Porta6) inductor l=Lrfc
        L13 (net33 0) inductor l=L1
        L12 (net27 Porta3) inductor l=Lc
        L11 (net27 net32) inductor l=L2
        L10 (net36 net27) inductor l=L2
        L9 (net24 Porta5) inductor l=Lrfc
        L8 (net34 0) inductor l=L1
        L7 (net21 Porta2) inductor l=Lc
        L6 (net21 net35) inductor l=L2
        L5 (net38 net21) inductor l=L2
        L4 (net18 Porta4) inductor l=Lrfc
        L3 (net15 Porta1) inductor l=Lc
        L2 (net31 net15) inductor l=L2
        L1 (net15 net39) inductor l=L2
        L0 (net37 0) inductor l=L1
        C11 (net30 net31) capacitor c=C1
        C10 (net30 net33) capacitor c=Cdcb
        C9 (net32 net30) capacitor c=C1
        C8 (net27 Porta3) capacitor c=Cc
        C7 (net24 net36) capacitor c=C1
        C6 (net24 net34) capacitor c=Cdcb
        C5 (net35 net24) capacitor c=C1
        C4 (net21 Porta2) capacitor c=Cc
        C3 (net15 Porta1) capacitor c=Cc
        C2 (net18 net37) capacitor c=Cdcb
        C1 (net18 net38) capacitor c=C1
        C0 (net39 net18) capacitor c=C1
        I7 (0 net30) varactor_SMV1237
        I4 (0 net24) varactor_SMV1237
        I0 (0 net18) varactor_SMV1237
    ends circulador_1
    // End of subcircuit definition.

    // Library name: TCC2
    // Cell name: circulador_1_TB
    // View name: schematic
    I4 (RF1 RF2 RF3 Vbias Vbias Vbias) circulador_1
    V0 (Vbias 0) vsource dc=Vdc type=dc
    PORT2 (RF3 0) port r=50 type=sine freq=Fm ampl=Vm sinephase=120 \
            fundname="Modulation"
    PORT0 (RF1 0) port r=50 type=sine freq=Fm ampl=Vm sinephase=0 freq2=Frf \
            dbm2=-101 sinephase2=0 fundname="Modulation" fundname2="RF"
    PORT1 (RF2 0) port r=50 type=sine freq=Fm ampl=Vm sinephase=-120 \
            fundname="Modulation"
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    qpss  qpss  flexbalance=yes  oversample=[1  1]  funds=["Modulation"
    +     "RF"]  maxharms=[3  3]  errpreset=conservative  annotate=status
    qpsp  qpsp  sweeptype=absolute  start=140M  stop=200M
    +     portharmsvec=[0  0  0  0  0  0]  ports=[PORT0  PORT1  PORT2]
    +     donoise=no  annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub

    Here is the result graphic with S11, S21 and S31:

    This result shows that circulator is not working as it should. The signal inserted on port 1 is returning on all range frequency and the port 2 is not receiving the signal (less than -10dB on all frequency range). Also the port 3 is receiving almost the same signal that port 2.

    Regards,

    Eduardo.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • EduardoGS
    EduardoGS over 8 years ago

    I was simulated again with your specifications. The results were the same, but the time of simulation was reduced.

    Here the input.scs:

    // Generated for: spectre
    // Generated on: Sep 26 22:40:41 2016
    // Design library name: TCC2
    // Design cell name: circulador_1_TB
    // Design view name: schematic
    simulator lang=spectre
    global 0
    parameters Fm=15.00000M Vm=600m C1=300p Cc=5.6p Cdcb=10u L1=270n L2=27n \
        Lc=1u Lrfc=2.7u Vdc=1.99 Frf=170M
    include "/usr/local/IC614/tsmc13/tsmc13rf/../models/tsmc13rf.scs"
    include "/home/eslam/TCC2/diode.scs"

    // Library name: TCC2
    // Cell name: varactor_SMV1237
    // View name: schematic
    subckt varactor_SMV1237 P_anode P_cathode
        D0 (net010 P_cathode) Diode_Model area=1
        R0 (net07 net010) resistor r=130.00m
        C0 (net07 P_cathode) capacitor c=9p
        L0 (P_anode net07) inductor l=1.7n
    ends varactor_SMV1237
    // End of subcircuit definition.

    // Library name: TCC2
    // Cell name: circulador_1
    // View name: schematic
    subckt circulador_1 Porta1 Porta2 Porta3 Porta4 Porta5 Porta6
        L14 (net30 Porta6) inductor l=Lrfc
        L13 (net33 0) inductor l=L1
        L12 (net27 Porta3) inductor l=Lc
        L11 (net27 net32) inductor l=L2
        L10 (net36 net27) inductor l=L2
        L9 (net24 Porta5) inductor l=Lrfc
        L8 (net34 0) inductor l=L1
        L7 (net21 Porta2) inductor l=Lc
        L6 (net21 net35) inductor l=L2
        L5 (net38 net21) inductor l=L2
        L4 (net18 Porta4) inductor l=Lrfc
        L3 (net15 Porta1) inductor l=Lc
        L2 (net31 net15) inductor l=L2
        L1 (net15 net39) inductor l=L2
        L0 (net37 0) inductor l=L1
        C11 (net30 net31) capacitor c=C1
        C10 (net30 net33) capacitor c=Cdcb
        C9 (net32 net30) capacitor c=C1
        C8 (net27 Porta3) capacitor c=Cc
        C7 (net24 net36) capacitor c=C1
        C6 (net24 net34) capacitor c=Cdcb
        C5 (net35 net24) capacitor c=C1
        C4 (net21 Porta2) capacitor c=Cc
        C3 (net15 Porta1) capacitor c=Cc
        C2 (net18 net37) capacitor c=Cdcb
        C1 (net18 net38) capacitor c=C1
        C0 (net39 net18) capacitor c=C1
        I7 (0 net30) varactor_SMV1237
        I4 (0 net24) varactor_SMV1237
        I0 (0 net18) varactor_SMV1237
    ends circulador_1
    // End of subcircuit definition.

    // Library name: TCC2
    // Cell name: circulador_1_TB
    // View name: schematic
    I4 (RF1 RF2 RF3 Vbias Vbias Vbias) circulador_1
    V0 (Vbias 0) vsource dc=Vdc type=dc
    PORT2 (RF3 0) port r=50 type=sine freq=Fm ampl=Vm sinephase=120 \
            fundname="Modulation"
    PORT0 (RF1 0) port r=50 type=sine freq=Fm ampl=Vm sinephase=0 freq2=Frf \
            dbm2=-101 sinephase2=0 fundname="Modulation" fundname2="RF"
    PORT1 (RF2 0) port r=50 type=sine freq=Fm ampl=Vm sinephase=-120 \
            fundname="Modulation"
    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
        tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
        checklimitdest=psf
    qpss  qpss  flexbalance=yes  oversample=[1  1]  funds=["Modulation"
    +     "RF"]  maxharms=[3  3]  errpreset=conservative  annotate=status
    qpsp  qpsp  sweeptype=absolute  start=140M  stop=200M
    +     portharmsvec=[0  0  0  0  0  0]  ports=[PORT0  PORT1  PORT2]
    +     donoise=no  annotate=status
    modelParameter info what=models where=rawfile
    element info what=inst where=rawfile
    outputParameter info what=output where=rawfile
    designParamVals info what=parameters where=rawfile
    primitives info what=primitives where=rawfile
    subckts info what=subckts  where=rawfile
    saveOptions options save=allpub

    Here is the result graphic with S11, S21 and S31:

    This result shows that circulator is not working as it should. The signal inserted on port 1 is returning on all range frequency and the port 2 is not receiving the signal (less than -10dB on all frequency range). Also the port 3 is receiving almost the same signal that port 2.

    Regards,

    Eduardo.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information