Glockenfilter (Peaking/Bell filter)

Ein Glocken- oder Peaking-Filter ist eine Art Audio-Entzerrungsfilter, der die Amplitude einer bestimmten Gruppe von Frequenzen um eine Mittenfrequenz herum anhebt oder abschwächt, um eine Amplitudenentzerrung durchzuführen.

Syntax
Hd = peaking(Fo,BW,K,DFormat)

Beschreibung
Entwirft einen Audio-Peaking/Bell-Filter 2. Ordnung. Alle Frequenzen sind in Hz angegeben.

Wie in der nachstehenden Grafik zu sehen ist, hat der Filter seinen Namen von der Form seines Amplitudenspektrums (blaue Linie), das einer Bell-Kurve ähnelt.

Allpass-Spitzenwertfilter Glockenfilter

  • K ist die Amplitude der Spitze
  • BW ist die Bandbreite bei K=0, und 0 < Fo < Fs/2

DFormat: Hier können Sie das Anzeigeformat des resultierenden digitalen Filterobjekts angeben.

symbolic Zeigt eine symbolische Darstellung des Filterobjekts an. Wenn die Ordnung > 10 ist, wird die symbolische Anzeigeoption überschrieben und auf numerisch gesetzt
numeric Anzeige einer Matrixdarstellung des Filterobjekts
void Ein Filterobjekt erzeugen, aber keine Ausgabe anzeigen

Beispiel

// Description: This script implements a simple 3-band audio equaliser 
// Author: Advanced Solutions Nederland BV
// Date: Monday, 29 June 2020
//
// Tested with fs=44.1kHz 
//
ClearH1;  // clear primary filter from cascade

//band 1
interface f={10,1000,10,500}; // highpass filter

// band 2
interface BW = {1,2000,10,1500}; // filter bandwidth
interface fc = {0, fs/2,fs/100,fs/8}; // peak/notch centre frequency
interface K = {0,3,0.1,2}; // gain/sign

//band 3
interface BW2 = {1,2000,10,1500}; // filter bandwidth
interface fc2 = {0, fs/2,fs/100,fs/4}; // peak/notch centre frequency
interface K2 = {0,3,0.1,0.25}; // gain/sign

Main()

// design filters 
hpfband={1,f};
Hdhpf=butter(2,hpfband,3,80,&amp;amp;quot;highpass&amp;amp;quot;,&amp;amp;quot;symbolic&amp;amp;quot;);

Hd1=peaking(fc,BW,K,&amp;amp;quot;symbolic&amp;amp;quot;);
Hd2=peaking(fc2,BW2,K2,&amp;amp;quot;symbolic&amp;amp;quot;);

// merge filters
Hd=augment(Hdhpf,Hd1,&amp;amp;quot;void&amp;amp;quot;);
Hd=augment(Hd,Hd2,&amp;amp;quot;symbolic&amp;amp;quot;);

// get coefficients
Num=getnum(Hd);
Den=getden(Hd);
Gain=getgain(Hd);