⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nevalsrc.c

📁 spice中支持多层次元件模型仿真的可单独运行的插件源码
💻 C
字号:
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1987 Gary W. Ng**********//* * NevalSrc (noise, lnNoise, ckt, type, node1, node2, param) *   This routine evaluates the noise due to different physical *   phenomena.  This includes the "shot" noise associated with dc *   currents in semiconductors and the "thermal" noise associated with *   resistance.  Although semiconductors also display "flicker" (1/f) *   noise, the lack of a unified model requires us to handle it on a *   "case by case" basis.  What we CAN provide, though, is the noise *   gain associated with the 1/f source. */#include "spice.h"#include "cktdefs.h"#include "const.h"#include "noisedef.h"#include "util.h"#include "suffix.h"voidNevalSrc (noise, lnNoise, ckt, type, node1, node2, param)double *noise;double *lnNoise;CKTcircuit *ckt;int type;int node1;int node2;double param;{    double realVal;    double imagVal;    double gain;    realVal = *((ckt->CKTrhs) + node1) - *((ckt->CKTrhs) + node2);    imagVal = *((ckt->CKTirhs) + node1) - *((ckt->CKTirhs) + node2);    gain = (realVal*realVal) + (imagVal*imagVal);    switch (type) {    case SHOTNOISE:	*noise = gain * 2 * CHARGE * FABS(param);          /* param is the dc current in a semiconductor */  	*lnNoise = log( MAX(*noise,N_MINLOG) ); 	break;    case THERMNOISE:	*noise = gain * 4 * CONSTboltz * ckt->CKTtemp * param;         /* param is the conductance of a resistor */        *lnNoise = log( MAX(*noise,N_MINLOG) );        break;    case N_GAIN:	*noise = gain;	break;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -