libsidplayfp  2.0.2
Public Member Functions | List of all members
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 DC-blocker which acts as a high-pass filter with a cutoff dependent on the attached audio equipment impedance. Here we suppose an impedance of 1kOhm resulting in a 3 dB attenuation at 16Hz.

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

◆ ExternalFilter()

reSIDfp::ExternalFilter::ExternalFilter ( )

Constructor.

Member Function Documentation

◆ clock()

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

SID clocking.

Parameters
Vi

◆ reset()

void reSIDfp::ExternalFilter::reset ( )

SID reset.

◆ setClockFrequency()

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: