Klasse ExternalFilter

java.lang.Object
builder.resid.resid.ExternalFilter

final class ExternalFilter extends Object
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.

Autor:
Ken Händel, Dag Lem, Antti Lankila
  • Felddetails

    • Vlp

      private int Vlp
      lowpass
    • Vhp

      private int Vhp
      highpass
    • w0lp_1_s7

      private int w0lp_1_s7
    • w0hp_1_s20

      private int w0hp_1_s20
  • Konstruktordetails

    • ExternalFilter

      protected ExternalFilter()
      Constructor.
  • Methodendetails

    • clock

      protected int clock(int Vi)
      SID clocking - 1 cycle.
      Parameter:
      Vi -
    • zeroDenormals

      protected void zeroDenormals()
    • setClockFrequency

      protected void setClockFrequency(double frequency)
      Setup of the external filter sampling parameters.
      Parameter:
      frequency -
    • reset

      protected void reset()
      SID reset.