Browse Source

calculate log frequency sweep such that start frequency and stop frequency are always exactly included

pre-master-46
Pascal Kuthe 3 years ago
committed by Holger Vogt
parent
commit
75c2a3c621
  1. 5
      src/spicelib/analysis/acan.c

5
src/spicelib/analysis/acan.c

@ -86,8 +86,9 @@ ACan(CKTcircuit *ckt, int restart)
fprintf(stderr, "ERROR: AC startfreq <= 0\n"); fprintf(stderr, "ERROR: AC startfreq <= 0\n");
return E_PARMVAL; return E_PARMVAL;
} }
job->ACfreqDelta =
exp(log(10.0)/job->ACnumberSteps);
double num_steps = floor(fabs(log10(job->ACstopFreq/job->ACstartFreq))*job->ACnumberSteps);
job->ACfreqDelta = exp((log(job->ACstopFreq/job->ACstartFreq))/ num_steps);
break; break;
case OCTAVE: case OCTAVE:
if (job->ACstartFreq <= 0) { if (job->ACstartFreq <= 0) {

Loading…
Cancel
Save