reSIDfp::ExternalFilter Class Reference

`#include <ExternalFilter.h>`

## Public Member Functions

int | clock (int Vi)
| ExternalFilter ()
void | setClockFrequency (double frequency)
void | reset ()

## Detailed Description

The audio output stage in a Commodore 64 consists of two STC networks, a low-pass filter with 3-dB frequency 16kHz followed by a high-pass filter with 3-dB frequency 16Hz (the latter provided an audio equipment input impedance of 1kOhm).

The STC networks are connected with a BJT supposedly meant to act as a unity gain buffer, which is not really how it works. A more elaborate model would include the BJT, however DC circuit analysis yields BJT base-emitter and emitter-base impedances sufficiently low to produce additional low-pass and high-pass 3dB-frequencies in the order of hundreds of kHz. This calls for a sampling frequency of several MHz, which is far too high for practical use.

## Constructor & Destructor Documentation

reSIDfp::ExternalFilter::ExternalFilter | ( |  | ) |

Constructor.

## Member Function Documentation

RESID_INLINE int reSIDfp::ExternalFilter::clock | ( | int | Vi | ) |

SID clocking.

Parameters

  Vi |

void reSIDfp::ExternalFilter::reset | ( |  | ) |

SID reset.

void reSIDfp::ExternalFilter::setClockFrequency | ( | double | frequency | ) |

Setup of the external filter sampling parameters.

Parameters

  frequency |

The documentation for this class was generated from the following files:

- ExternalFilter.h
- ExternalFilter.cpp