libsidplayfp 2.15.0
Public Member Functions | List of all members
reSIDfp::ExternalFilter Class Reference

#include <ExternalFilter.h>

Public Member Functions

int clock (int input)
 
 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 RC 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 10kOhm resulting in a 3 dB attenuation at 1.6Hz.

9/12V
-----+
audio| 10k |
+---o----R---o--------o-----(K) +-----
out | | | | | |audio
-----+ R 1k C 1000 | | 10 uF |
| | pF +-C----o-----C-----+ 10k
470 | |
GND GND pF R 1K | amp
* ** | +-----
GND

The STC networks are connected with a BJT based common collector used as a voltage follower (featuring a 2SC1815 NPN transistor).

Constructor & Destructor Documentation

◆ ExternalFilter()

reSIDfp::ExternalFilter::ExternalFilter ( )

Constructor.

Member Function Documentation

◆ clock()

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

SID clocking.

Parameters
inputinput sample, signed 16 bit
Returns
filtered sample, signed 16 bit

◆ reset()

void reSIDfp::ExternalFilter::reset ( )

SID reset.

◆ setClockFrequency()

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

Setup of the external filter sampling parameters.

Parameters
frequencythe main system clock frequency

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