Digital Control Systems 

 Graduate Extra Project 

Digital Non-Foster Impedance


Overview


REQUIREMENTS


The requirements of this project are:
  1. Summarize the following IEEE paper regarding the use of non-Foster circuits (such as negative capacitors) 
  2. Use maatlab to simulate  the results shown in Fig. 2 of the paper, for a digital series RC circuit  where T=5 ns, C =-25 pF, Rdac = 1000 ohms,  latency  = 2.5 ns, and plot results for both Rser=0 and Rser=70 ohms, similar to Fig. 2 of the paper.  See the example maatlab below
  3. Write a report
  4. Example maatlab code for simulation

 

    % 
    % copyright 2021 by Thomas P. Weldon
    % all rights reserved
    %
    clear all
    close all hidden
    clc
    sympref('HeavisideAtOrigin',1); %set equal to 1 as in unitstep
    
    disp('Digital non-Foster impedances ==================')
    disp('see theory at http://thomasweldon.com/tpw/papers/tpwIscas15digNonFos_22sep2014m_fix_ppt.pdf')
    clear z C Ts s Zc Hc
    syms  z C Ts s Zc Hc
    
    disp('====Parameters Digital non-Foster design ==========:')
    disp('Sample period, sample rate, and capacitance:')
    fs=200*10^(6) %sample rate
    Ts=1/fs
    C=-25*10^(-12) %-80 pF
    % see Equation 3 and Fig. 4 at http://thomasweldon.com/tpw/papers/tpwIscas15digNonFos_22sep2014m_fix_ppt.pdf
    disp('Find Hc(z) for the digital capacitor:')
    Hc(z)=C*(1-1/z)/Ts;
    disp('Hc(z)=')
    olddigits=digits(); digits(5);vpa(eval(Hc(z)))
    digits(olddigits);
    disp('Find Zc(s):')
    Zc(s)=subs( (s*Ts/((1-1/z)*Hc(z))), z, exp(s*Ts));
    olddigits=digits(); digits(5);vpa(eval(Zc(s)))
    digits(olddigits);
    
    fmax=10^8;fmin=fmax/10^5;
    fn=fmin:(fmax-fmin)/100:fmax;  %linear freq scale
    hh=figure(3);
    %sp=subplot(3,1,1);
    plot(fn,real(vpa(Zc(i*2*pi*fn))),'r',fn,imag(vpa(Zc(i*2*pi*fn))),'b--',fn,imag(vpa(1./((-C)*(i*2*pi*fn)))),'b:', 'LineWidth',3);
    title({['Digital negative capacitor,  C=' num2str(C)  '  fs=' num2str(fs) ' samples/s' ], 'Digital Re\{Zc(s)\} in solid red, Im\{Zc(s)\} dashed blue, ', 'Im\{positive capacitance\} in dotted red' });xlabel('Time (s)');  
    grid on;xlim([0 fmax]);ylim([-250 750]);
    set(gca,'LineWidth',2,'ytick',[-250:125:750]);
    xlabel('Frequency(Hz)');  ylabel('ohms');  
    set(findall(hh,'Type','text'),'FontSize',14);
    

Copyright  2021 T. Weldon