In diesem Artikel möchte ich über meine Experimente zur Erstellung eines einfachen parametrischen digitalen FIR-Filters auf Verilog HDL sprechen. Bis jetzt habe ich versucht, diese digitale Signalverarbeitung auf unserer Website zu vermeiden: es ist immer noch ziemlich schwierig. Nun, wenn es schwierig ist, braucht es viel Zeit, um einfach ein unabhängiges Studium der Sache zu machen. Im Moment habe ich nur eine Woche die Seite http://www.dsplib.ru/content/filters/ch10/ch10.html gelesen - eine sehr interessante Quelle, wo alles ziemlich lakonisch und verständlich ist. Nachdem ich mehrere Artikel von der Website dsplib.ru gelesen hatte, wurde mir klar, dass ich besser keine Theorie schreiben sollte. Aber vielleicht kann ich mein Verständnis und meine Implementierung des Filters auf Verilog anbieten.
Digitale Filter sind also digitale Signalverarbeitungsgeräte.
Ein digitales Signal ist eine Folge von Zahlen, die das Ergebnis der Messung einer physikalischen Größe in den gleichen Zeitintervallen darstellen. Sie können Spannung, Strom, Beleuchtung, Temperatur, Winkel, Geschwindigkeit und so weiter messen.
Es gibt jedoch Nuancen.
Erstens sagen sie, dass Messungen mit einer Frequenz durchgeführt werden müssen, die mehr als zweimal höher ist als die höchste Frequenz, die im Signalspektrum vorhanden ist. Dies wird durch den Satz von Kotel'nikov bewiesen. Die praktische Konsequenz daraus - bevor Sie das Signal messen, müssen Sie sicherstellen, dass sein Spektrum keine harmonischen Komponenten mit Frequenzen oberhalb der halben Messfrequenz aufweist. Dies bedeutet, dass ein geeigneter analoger Filter vor dem Messgerät benötigt wird. Wenn dies nicht gemacht wird, dann können in dem Spektrum des digitalisierten Signals Frequenzen erscheinen, die vorher nicht da waren, das ursprüngliche Signal wird verzerrt sein. Dieses schädliche Phänomen wird "Aliasing" genannt.
Zweitens ist die Breite des Messgerätes, ADC, Analog-Digital Converter wichtig. Hier kann ich leider keine Empfehlungen geben. Aus irgendeinem Grund ist es in vielen der Artikel, die ich gelesen habe, eine Frage der Auswahl der Abtastfrequenz durch den Kotelnikov-Theorem, aber die ADC-Bitkapazität wird nicht erwähnt. Das ist ein wenig seltsam, da der Satz von Kotelnikov selbst die genommenen Proben mit absoluter Genauigkeit impliziert, was im wirklichen Leben nicht sein kann. Immer noch muss man sich den Rauschpegel im Eingangssignal ansehen, es kann sich sogar herausstellen, dass die Nachkommastellen des ADC "zittern". Wahrscheinlich ist es sinnlos, einen ADC mit einer Bitkapazität zu verwenden, die den Jitter von mehreren niederwertigen Bits aufgrund von Rauschen im Eingangssignal ermöglicht.
Sobald das Eingangssignal digitalisiert ist und ein Strom von Zahlen ist, kann es durch numerische Methoden in Mikrocontrollern oder in FPGAs verarbeitet werden.
Eine der Aufgaben der digitalen Signalverarbeitung ist das Filtern. Filtern bedeutet die Unterdrückung einiger Frequenzen im Spektrum und die Übertragung / Verstärkung anderer. Über das Spektrum habe ich geschrieben.
Es gibt Tiefpassfilter, die nur Frequenzen unterhalb der angegebenen Grenzfrequenz passieren. Es gibt Hochpassfilter, die Frequenzen unterhalb der Grenzfrequenz unterdrücken. Es gibt Bandpassfilter, die nur Frequenzen in einem bestimmten Band passieren oder unterdrücken (Bandpass- und Bandsperrfilter).
Auf der internen Anordnung scheint mir, die einfachsten sind FIR-Filter. Das FIR-Filter ist ein Filter mit endlicher Impulsantwort. In der englischen Literatur ist FIR FIR, das ist ein Filter mit endlicher Impulsantwort.
Die Struktur dieses Filters ist dies:
Hier sind die Blöcke Z -1 die Verzögerungsleitungen. In der Praxis ist die Kette von Blöcken Z -1 einfach eine Sequenz von Registern zum Speichern von Daten. Für jede Flanke der Taktfrequenz, welche die Abtastfrequenz ist, bewegen sich die Eingangsdaten von dem ersten Register zu dem nächsten. Ein Filter kann eine Reihe von Registern beliebiger Länge enthalten. Zusätzlich erfolgt von jedem Block Z -1 eine Datenübertragung zum Multiplizierer. Jeder der Multiplizierer multipliziert seine eigenen Daten mit einer bestimmten Konstante. Dann addieren sich alle Multiplikationsergebnisse und ein gefiltertes Signal wird erhalten. Eine spezielle Wissenschaft besteht darin, die Länge des Filters und die Koeffizienten für die Multiplikatoren zu berechnen. Die Eigenschaften des Filters hängen von den Koeffizienten ab.
Der FIR-Filter hat mehrere wichtige Eigenschaften:
- sein Verhalten ist stabil und vorhersehbar;
- falls gewünscht, können Sie einen sehr schnellen Filter implementieren, da sich die Daten in ihrem Algorithmus nur vorwärts bewegen. Es ist ziemlich einfach Pipelines zu machen.
Ich werde erklären, wie ich diese beiden Punkte verstehe.
Über Stabilität und Vorhersagbarkeit. Wenn Sie sich die Struktur des Filters genau ansehen, wird die Bewegung der darin enthaltenen Daten deutlich. Wenn die Eingangsdaten 16 Bit sind und die Koeffizienten für die Multiplizierer 16 Bit sind, wird das Ergebnis nach dem Multiplizieren 32 Bit. Als nächstes ist die Summe. Das Hinzufügen von zwei 32-Bit-Nummern ergibt eine 33-Bit-Zahl. Wenn Sie die Länge des Filters kennen, können Sie genau bestimmen, welche Bitkapazität das Ergebnis sein wird. Ein Filter der Länge 4 hat eine 34-Bit-Zahl und einen Punkt am Ausgang. Mathematische Operationen innerhalb des Filters akkumulieren keinen Fehler, führen nicht zum Überlauf des Ergebnisses. Einige andere Filter wie IIR (Filter mit Infinitely Impulse Response, IIR - Infinite Impulse Response Filter) enthalten Rückkopplungsschleifen. zum Beispiel, hier sind diese:
Hier ist es anders. Hier gibt es einen Addierer, der das Eingangssignal mit einem verzögerten Signal addiert und mit einem bestimmten Koeffizienten das Ausgangssignal multipliziert. Der Addierer hat eine feste Bitkapazität. Es ist klar, dass ein solcher Rechner leicht überfüllen kann. Um hier für eine solche Schaltung ein Signal mit einer konstanten Komponente zu verwenden, wird dann nach einer Weile der Ergebnis-Batterieüberlauf gewährleistet. Es ist bereits unberechenbar und instabil. Wenden Sie IIR-Filter mit Vorsicht an, da Sie vorher die Art der Eingabe kennen.
Jetzt über die Geschwindigkeit des FIR-Filters. Da sich die Daten nur vorwärts bewegen, ist es sehr einfach, die Pipeline-Verarbeitung zu nutzen. Zum Beispiel, während Multiplizierer die nächsten Daten von den Verzögerungsregistern multiplizieren, kann der Addierer die Summe aus den vorherigen Multiplikatorergebnissen berechnen. Und die Multiplizierer selbst können die interne Pipeline verwenden, und der Addierer kann die interne Pipeline verwenden. Ja, das Ergebnis des Filters wird um mehrere Zyklen verzögert, aber nur alle. Wenn Sie sich die IIR-Filterverknüpfung ansehen, wie in der Abbildung oben, ist es klar, dass Sie aufgrund der Rückkopplung nicht hinzufügen können, bis der Multiplikator das Ergebnis berechnet.
Aus der Struktur des FIR-Filters wird deutlich, warum es ein Filter mit einer endlichen Impulsantwort genannt wird. Wenn der Eingangsstrom von Zahlen in allen Nullen edinichka einem zu erfüllen, dass ein einzelner Impuls ist, an den Filter als Reaktion auf diesen Impuls Bestanden / Ende, sobald der Impuls mit der letzten Verzögerungsleitung verlässt. Bei IIR-Filtern dagegen wird ein einzelner Impuls unendlich lange über die Rückkopplungsschleife zum Eingang zurückkehren. Daher ist IIR ein Filter mit einer unendlichen Impulsantwort.
- http://www.micromodeler.com/dsp/
Verwenden Sie das TFilter-Tool.
Ich möchte zum Beispiel einen digitalen Tiefpassfilter bauen. Die Abtastfrequenz beträgt 20 MHz. Ich möchte bei Frequenzen über 2 MHz alle Frequenzen deutlich unterbieten, nicht weniger als -40 dB.
Geben Sie die erforderlichen Daten in die Eingabefelder unten auf der Seite ein und klicken Sie auf die Schaltfläche "DesignFilter". Nach ein paar Sekunden ist mein Filter berechnet und das Ergebnis ist auf dem rechten Seite im Fenster, wie die Liste der Faktoren für Multiplikatoren: -510, -520, -625, -575, -287, 306, 1232, 2467, 3927, 5477, 6948, 8162, 8962, 9241 , 8962, 8162, 6948, 5477, 3927, 2467, 1232, 306, -287, -575, -625, -520, -510. Gesamtkoeffizienten von 27 - dann ist dies die Länge des Filters und wird sein.
Ich möchte zum Beispiel einen Bandpassfilter bauen. Die Abtastfrequenz beträgt 20 MHz. Angenommen, der Filter muss Frequenzen unter 1 MHz und über 4 MHz unterdrücken.
Daten einfügen, tun Berechnung, erhalte ich die Filterkoeffizienten: -801, -1026, -210, 1914, 4029, 3905, 330, -5174, -8760, -7040, -152, 7700, 11130, 7700, -152, -7040 , -8760, -5174, 330, 3905, 4029, 1914, -210, -1026, -801. Hier betrug die Länge des Filters 25 Tapas.
Hier sind die Filterkoeffizienten. Was mit ihnen zu tun? Es wäre schön, ein parametrisches Modul auf Verilog HDL zu machen, damit es leicht angepasst werden kann. die Parameter des Filtermoduls Logisch, - das ist die Länge, dh die Anzahl von Verzögerungsleitungen, Bit-Eingangsdaten und Koeffizienten für die Bit-Multiplizierer.
Wenn die Wortlänge der Dateneingabe - es iWidth, und die Anzahl der Register in der Kette der Verzögerungsleitung - es TAPS, es ist ganz einfach selbst zu beschreiben, registriert die Kette:
modul Tanne (clk, coefs, in, out);
parameter IWIDTH = 16; // Eingabedaten (Signal) Breite
parameter TAPS = 2; // Anzahl der Filterhähne
eingangsdraht clk;
eingangsdraht ein;
genvar ich;
generieren
für (i = 0; i
beginnen: tippen
// mache Tap-Registerkette
reg r = 0;
if (i == 0)
beginne
// 1. Antippen erhält Signal vom Eingang
immer @ (posedge clk)
r<= in;
ende
sonst
beginne
// tap reg nimmt das Signal vom Tap Tap reg
immer @ (posedge clk)
Tippen Sie auf [i] .r<= tap.r;
ende
Ende
endgenerieren
endmodul
Mit dem generate-endgenerate-Konstrukt der Verilog-Sprache können Sie die erforderliche Anzahl von Registern dynamisch erstellen und sie nach Bedarf in die Kette einbinden. Es sieht so aus:
Somit kann die Filterlänge über den Parameter des Verilog-Moduls festgelegt werden. In ähnlicher Weise werden innerhalb der generate-endgenerate innerhalb der for () - Schleife Multiplizierer erzeugt:
genvar ich;
generieren
für (i = 0; i
Beginnen: tippen
........
// Get Tap Multiplikation Konstante coef
Draht c;
Zuweisen von c = coefs [((TAPS-1-i) * 32 + CWIDTH-1): (TAPS-1-i) * 32];
// Multiplikation berechnen und im Register fixieren
reg m;
immer @ (posedge clk)
m<= $signed(r) * $signed(c);
............
Somit werden zusätzlich zu den Registern der Verzögerungsleitung Multiplizierer mit ihren eigenen Koeffizienten gebildet und verbunden:
Ich entschied, dass die Koeffizienten für die Multiplikatoren als ein Eingangssignal an das Modul, das mit dem Bus verbunden ist, (...) übergeben werden können.
tanne # (. TAPS (27)) fir_lp_inst (
.clk (tb_clk),
.coefs ((
-32 "d510,
-32 "d520,
.......
32 "d575,
32 "d625,
-32 "d520,
-32 "d510
}),
.in (),
.out ()
);
Hier belegt jeder Filterkoeffizient eine feste Anzahl von Bits in dem Bus 32 (es wurde entschieden, dass dies ausreichen sollte). Aber von diesen 32 Bits wird das Modul die gewünschte deklarierte Anzahl von Bits für die Koeffizienten auswählen. Zum Beispiel, Parameter CWIDTH = 16; Erinnern Sie sich, dass die Anzahl der Bits im Koeffizienten für die Multiplikation letztlich von der Breite des Ergebnisses abhängt.
Zur Vereinfachung der Implementierung habe ich noch keine Pipeline für Addierer erstellt. Sie könnten zum Beispiel schnell durchgeführt werden, indem man Werte von Multiplizierern in Paaren hinzufügt, dann Paare von Ergebnissen früherer Paaradditionen hinzufügt usw. Bisher habe ich einen großen Addierer als eine große und komplexe kombinatorische Funktion erstellt. Sicherlich wird es im FPGA nicht in der Lage sein, bei hohen Frequenzen zu arbeiten, aber während ich meine Augen davor verschließe. Damit es einfach funktioniert.
Der vollständige Text des Moduls sieht folgendermaßen aus:
Modul Tanne (clk, coefs, rein, raus); Parameter IWIDTH = 16; // Eingabedaten (Signal) width Parameter CWIDTH = 16; // coef Datenbreite tippen (sollte kleiner als 32 Bit sein) Parameter TAPS = 2; // Anzahl der Filterabgriffe localparam MWIDTH = (IWIDTH + CWIDTH); // multiplizierte Breite localparam RWIDTH = (MWIDTH + TAPS-1); // Filter Ergebnis Breite Eingabe Draht clk; Eingangsdraht ein; Eingangsdraht Coefs; // alle Eingangskoeffizienten konkatierte Ausgangskabel aus; // Ausgabe nimmt nur die oberen Bits Teil des Ergebnis genvar i; erzeugt für (i = 0; i Wenn es Zeit ist, werde ich versuchen, dieses Modul zu verbessern, fügen Sie eine Pipeline von Addierern hinzu. Jetzt ist die Hauptfrage, wie man sicherstellen kann, dass es im Allgemeinen funktioniert? Und wie? Ja, es ist einfach! - Es gibt einen Simulator Verilog. Ich schreibe eine Testbench, die das Eingangssignal bei verschiedenen Frequenzen simuliert und die Antwort am Ausgang des Filters sieht. Noch mehr. Wenn die Testbench das Eingangssignal als eine Sinuskurve synthetisiert und wenn ihre Frequenz in einem bestimmten Bereich, von einer niedrigen Frequenz zu einer höheren, sanft geändert wird, dann beobachte ich die Antwort am Ausgang des Filters, sehe ich direkt ihre Amplitude-Frequenz-Antwort! Die Struktur der Programmtestbench.v: Ich habe bereits die Sinuskurve für Testbench gezeigt. Ich nehme den alten Code, stelle ihn etwas ein und verändere die Frequenz von 100kHz auf 4MHz in Schritten von 1000Hz. In der Testbench werde ich zwei Kopien des Moduls meines tannen () - Filters mit unterschiedlichen Koeffizienten für das Tiefpassfilter und für das Bandpassfilter installieren. Alle Testbench-Codes hier: `Zeitskala 1ns / 1ns Modul Testbench (); reg tb_clk; initial tb_clk = 0; immer # 25 tb_clk = ~ tb_clk; realer PI = 3,14159265358979323846; echte last_time = 0; // Sec real aktuelle_zeit = 0; // Sec realer Winkel = 0; // Rad reale Frequenz = 100; // Hz ganze Zahl freq_x100kHz = 0; // * 100kHz reginiert sin16; // Funktion, die Sinus (x) Funktion reelle Sünde berechnet; Eingabe x; echtes x; reell x1, y, y2, y3, y5, y7, Summe, Vorzeichen; Anfangszeichen = 1,0; x1 = x; if (x1<0)
begin
x1 = -x1;
sign = -1.0;
end
while (x1 > PI / 2.0) x1 = x1 beginnen - PI; schreiben = -1.0 * Zeichen; Ende y = x1 * 2 / PI; y2 = y * y; y3 = y * y2; y5 = y3 * y2; y7 = y5 * y2; sum = 1.570794 * y - 0.645962 * Y3 + 0,079692 * y5 - 0,004681712 * Y7; sin = Zeichen * Summe; Ende endfunction Aufgabe set_freq; Eingang f; Echt f; beginnen Frequenz = F; freq_x100kHz = f / 100000.0; Ende EndTask immer @ (posedge tb_clk) beginnen CURRENT_TIME = $ in Echtzeit; Winkel = Ausfallswinkel + (current_time-last_time) * 2 * PI * Frequenz / 1000000000,0; // $ Anzeige ( "% f% f", CURRENT_TIME, Winkel); while (Winkel\u003e PI * 2,0) beginnt Winkel = Ausfallswinkel-PI * 2,0; enden sin16 = 32000 * sin (Winkel); last_time = current_time; end // Tiefpassfilterdraht out_lowpass; fir # (. TAPS (27)) fir_lp_inst (.clk (tb_clk), .coefs ((-32 "D510, -32" D520, -32 "D625, -32" D575, -32 "D287, 32" D306, 32 "d1232, 32" d2467, 32 "d3927, 32" d5477, 32 "d6948, 32" d8162, 32 "d8962, 32" d9241, 32 "d8962, 32" d8162, 32 "d6948, 32" d5477, 32 " d3927, 32 "d2467, 32" d1232, 32 "D306, -32" D287, -32 "D575, -32" D625, -32 "D520, -32" D510)), .in (sin16), die out- ( out_lowpass)); // Bandpass Draht out_bandpass ;. fir # (TAPS (25)) fir_bp_inst (.clk (tb_clk), .coefs ((-32 "D801, -32" D1026, -32 "D210, 32" d1914, 32 "d4029, 32" d3905, 32 "D330, -32" d5174, -32 "d8760, -32" d7040, -32 "D152, 32" D7700, 32 "d11130, 32" D7700, -32 „D152 , -32 "d7040, -32" d8760, -32 "d5174, 32" D330, 32 "d3905, 32" d4029, 32 "d1914, -32" D210, -32 "D1026, -32" D801)) ,. in (sin16), die out- (out_bandpass)); integer i; Echt f; paraphieren beginnen $ dumpfile ( "out.vcd"); $ Dumpvars (0, Testbench); f = 100.000; for (i = 0; i<4000; i=i+1)
begin
set_freq(f);
#1000;
f=f+1000;
end
$finish;
end
endmodule
Simulation verbringen in Icarus Verilog. Als Ergebnis des Simulationsprogramms VVP schaltet die Ausgabedatei auf den out.vcd Signale Zeitdiagramm. Sie können in gtkwave Programm eingesehen werden. Hier ist, was zu sehen ist: sin16 Eingangssignal für beide Filter die Frequenz ändert, wächst: In dem weiten Bereich von Frequenzen von Hunderten von Kilohertz bis einigen Megahertz können, welche Filter Frequenzen passieren zu sehen ist, und die unterdrückt: Das Eingangssignal für sin16 ist gleichförmig in der Amplitude in dem gesamten Frequenzband. „Torn“ Signale bei niedrigeren Frequenzen - es ist nur so gtkwave zieht, mit einem Anstieg (Zoom) alles sieht gut aus. Aber die Ausgangssignale, wie sie an den Ausgang der Filter gelegt werden. Ein Tiefpassfilter von 500 kHz beginnt einen glatten Abfall der Strombelastbarkeit des Sinus out_lowpass und nach 2 MHz geht der Filter praktisch nicht durch. Die Bandpass-Filtervertiefung passiert irgendwo im 2-3 MHz-Band und entlang der Kanten gibt es leichte Stürze (out_bandpass-Signal). Um das resultierende Bild sorgfältig zu betrachten, müssen Sie im GtkWave-Programm spezielle Anzeigefunktionen verwenden. Hier sind einige nützliche Tipps: Ein weiterer Tipp: GtkWave kann ein analoges Signal in der Höhe anzeigen, unter Berücksichtigung aller Samples der Simulation in der Zeit oder unter Berücksichtigung nur der Proben, die in das Fenster gelegt werden. Wenn Sie Datenformat =\u003e Analog =\u003e Größenänderung =\u003e Bildschirmdaten einstellen, dh wenn die vertikale Skalierung nur die Anpassungen im Fenster berücksichtigt, können Sie die Nebenkeulen der Amplitudenfrequenzantwort des Filters sehen: Zurück nach oben Digitale Filter (Vorlesung)
Durch die Art der Impulsantwort werden digitale Filter in zwei große Klassen unterteilt: ·
Ich kompilieren:
\u003e Iverilog -o qqq testbench.v fir.v
Ich gebe vor:
\u003e Vvp qqq
Schauen Sie Diagramme in gtkwave Timing:
\u003e Gtkwave out.vcd
FIR-Filter sind durch den Ausdruck gekennzeichnet:
· Filter mit unendlicher Impulsantwort (IIR-Filter, rekursive Filter) verwenden einen oder mehrere ihrer Ausgänge als Eingang, dh sie bilden eine Rückkopplung. Die Haupteigenschaft solcher Filter besteht darin, dass ihre Impulsantwort eine unendliche Länge im Zeitbereich hat und die Übertragungsfunktion eine gebrochen-rationale Form hat.
IIR-Filter sind durch den Ausdruck gekennzeichnet:
Der Unterschied zwischen FIR-Filtern und IIR-Filtern besteht darin, dass bei FIR-Filtern die Ausgabe von Eingangssignalen abhängt und bei IIR-Filtern die Ausgabeantwort vom aktuellen Wert abhängt.
Puls-Charakteristik Ist die Antwort der Schaltung auf ein einziges Signal.
E signal ist wie folgt definiert:
Auf diese Weise, das einzelne Signal an einem Punkt ist gleich Eins im Ursprung.
Der inhaftierte e signal ist wie folgt definiert:
So, der Häftling einzelsignalverzögerungen ank Probenahmezeiten.
Signale und Spektren
Dualität (Dualität) der Signaldarstellung.
Alle Signale können in der Zeit- oder Frequenzebene dargestellt werden.
Darüber hinaus gibt es mehrere Frequenzebenen.
Zeit Ebene. |
Transformationen. |
Frequenzebene. |
Um das Signal in der Zeitebene anzuzeigen, gibt es ein Gerät: Stellen Sie sich vor, dass ein ausreichend langes Sinussignal vorhanden ist (in 1 Sekunde wurde 1000-mal die Sinuswelle wiederholt): Nehmen wir ein Signal mit einer doppelt so großen Frequenz: Lassen Sie uns diese Signale kombinieren. Wir bekommen kein Sinusoid, sondern ein verzerrtes Signal: |
Transformationen von der Zeitebene zu der Frequenzebene werden unter Verwendung von Fourier-Transformationen durchgeführt. |
Um das Signal in der Frequenzebene zu sehen, gibt es ein Gerät: Frequenz zyklisch oder kreisförmig ( f ). Die Frequenzebene zeigt eine Kerbe: Die Größe der Kerbe ist proportional zur Amplitude der Sinuskurve und der Frequenz: f 1 = Für das zweite Signal wird der Frequenzbereich eine weitere Kerbe anzeigen: Im Zeitbereich des Gesamtsignals erscheinen 2 Notches: |
Beide Darstellungen des Signals sind äquivalent und verwenden entweder die erste oder die andere Darstellung, je nachdem, welche bequemer ist.
Transformationen von der Zeitebene in die Frequenzebene können auf verschiedene Arten ausgeführt werden. Zum Beispiel: Verwenden von Laplace-Transformationen oder Verwenden von Fourier-Transformationen.
Drei Formen der Aufnahme Fourier-Serie.
Es gibt drei Arten der Fourier-Aufzeichnung:
· Sinus - Kosinusform.
· Die echte Form.
· Komplexe Form.
1.) In der Sinus-Cosinus-Form Die Fourier-Serie hat die Form:
Die mehreren Frequenzen in der Formel kω 1 werden angerufen oberschwingungen; Oberschwingungen sind nach dem Index nummeriert k; die Frequenz ω k =kω 1 heißt kHarmonische des Signals.
Dieser Ausdruck legt folgendes nahe: dass jede periodische Funktion als eine Summe von Oberschwingungen dargestellt werden kann, wobei:
Wo?
T - Dauer der Wiederholungen dieser Funktion;
ω ist die Kreisfrequenz.
, wo
t- aktuelle Zeit;
TZeitraum.
Für die Fourier-Erweiterung ist die Periodizität am wichtigsten. Aufgrund dessen gibt es eine Diskretisierung in der Frequenz, einige Oberschwingungen beginnen.
Um die Möglichkeit einer trigonometrischen Expansion für eine gegebene periodische Funktion zu ermitteln, muss man von einer bestimmten Menge von Koeffizienten ausgehen. Rezeption für ihre Definition wurde in der zweiten Hälfte des 18. Jahrhunderts von Euler und, unabhängig von ihm, zu Beginn des XIX Jahrhunderts - Fourier erfunden.
Drei Euler-Formeln zur Bestimmung der Koeffizienten:
; ;
Eulers Formeln brauchen keinen Beweis. Diese Formeln sind genau für eine unendliche Anzahl von Harmonischen. Die Fourier-Serie ist eine verkürzte Serie, seit es gibt keine unendliche Anzahl von Harmonischen. Der Koeffizient der abgeschnittenen Reihe wird mit den gleichen Formeln wie für die volle Reihe berechnet. In diesem Fall ist der mittlere quadratische Fehler minimal.
Die Stärke der Harmonischen nimmt mit zunehmender Anzahl ab. Wenn Sie einige harmonische Komponenten hinzufügen / löschen, werden die übrigen Elemente (andere Harmonische) nicht neu berechnet.
Praktisch alle Funktionen sind gerade oder ungerade:
DIE ZUKUNFTSFUNKTION |
ANDERE FUNKTION |
Gekennzeichnet durch die Gleichung: Zum Beispiel die Funktion Cos: in der: t = -t Die gerade Funktion ist symmetrisch in Bezug auf ordinatenachse. Wenn die Funktion gerade ist, dann ist alles Sinus koeffizienten b kwird Null sein und in der Formel der Fourier-Reihe wird es nur sein kosinus Summanden. |
Gekennzeichnet durch die Gleichung: Zum Beispiel die Funktion Sünde: Die ungerade Funktion ist symmetrisch um das Zentrum. Wenn die Funktion ungerade ist, dann alle Kosinus-Koeffizienten ein kwird Null sein und in der Formel der Fourier-Reihe wird es nur sein sinus Summanden. |
2.) Die echte Form der Fourier-Serie.
Eine gewisse Unannehmlichkeit der Sinus-Cosinus-Form der Fourier-Reihe ist diejenige für jeden Wert des Summationsindexes k (dh für jede Harmonische mit der Frequenz kω 1) in der Formel gibt es zwei Begriffe - ein Sinus und ein Kosinus. Unter Verwendung der Formeln trigonometrischer Transformationen kann die Summe dieser beiden Terme in einen Kosinus der gleichen Frequenz mit einer anderen Amplitude und einer Anfangsphase umgewandelt werden:
, wo
;
Wenn die S(t) ist eine gerade Funktion, die Phase φ kann nur die Werte 0 und übernehmen π , und wenn S(t) - die Funktion ist ungerade, dann die möglichen Werte für die Phase φ sind gleich + π /2.
3.) Komplexe Form der Fourier-Serie.
Diese Form der Darstellung der Fourier-Reihe ist vielleicht die am häufigsten in der Funktechnik verwendete. Es wird aus der reellen Form gewonnen, indem der Kosinus in Form einer Halbsumme komplexer Exponentiale dargestellt wird (eine solche Darstellung folgt aus der Euler'schen Formel) e jθ = Cosθ + jSinθ):
Indem wir diese Transformation auf die reelle Form der Fourier-Reihe anwenden, erhalten wir die Summe der komplexen Exponentialen mit positiven und negativen Exponenten:
Und nun behandeln wir Exponenten mit einem Minuszeichen im Exponenten als Glieder einer Reihe mit negativen Zahlen. Im gleichen allgemeinen Ansatz, der konstante Summand a 0/2 wird ein Mitglied der Zeile mit der Nullzahl. Als Ergebnis erhalten wir eine komplexe Form der Fourier-Reihe:
Die Formel zur Berechnung der Koeffizienten C k Fourier-Serie:
Wenn die S(t) ist sogar Funktion, die Koeffizienten der Serie C kwird sauber sein echt, und wenn S(t) ist eine Funktion seltsam, die Koeffizienten der Serie erweisen sich als rein imaginär.
Der Satz von Amplituden von Harmonischen der Fourier-Reihe wird oft genannt amplitudenspektrumund die Gesamtheit ihrer Phasen - phasenspektrum.
Das Amplitudenspektrum ist der reale Teil der Koeffizienten C k Fourier-Serie:
Re ( C k) Ist das Amplitudenspektrum.
Spektrum von Rechtecksignalen.
Betrachten Sie ein Signal in Form einer Folge von Rechteckimpulsen mit einer Amplitude A, Dauer τ und Wiederholungszeitraum T. Der Beginn der Zeitzählung wird in der Mitte des Impulses genommen.
Dieses Signal ist eine gerade Funktion, so dass es für seine Darstellung bequemer ist, die Sinus-Cosinus-Form der Fourier-Reihe zu verwenden - nur Kosinus-Terme werden darin vorkommen ein k, gleich zu:
Aus der Formel ist ersichtlich, dass die Dauer der Impulse und die Dauer ihres Folgens nicht darin enthalten sind, sondern ausschließlich in Form einer Beziehung. Dieser Parameter - das Verhältnis der Periode zur Dauer der Impulse - wird aufgerufen arbeitszyklus Sequenzen von Impulsen und mit dem Buchstaben bezeichnet: g: g = T/ τ. Wir führen diesen Parameter in die resultierende Formel für die Koeffizienten der Fourier-Reihe ein und reduzieren dann die Formel auf die Form Sin (x) / x:
Hinweis: In der ausländischen Literatur wird anstelle des Arbeitszyklus ein inverser Wert verwendet, der als Arbeitszyklus bezeichnet wird und gleich & tgr; T.
Mit dieser Form der Aufzeichnung kann man deutlich sehen, was der Wert des konstanten Terms der Serie ist: x → 0Sin ( x)/x → 1, dann
Nun können wir auch die Darstellung der Folge von Rechteckimpulsen in Form einer Fourier-Reihe aufschreiben:
Die Amplituden der harmonischen Terme der Reihe hängen von der Oberschwingungszahl nach dem Gesetz Sin ab ( x)/x.
Der Graph der Funktion Sin ( x)/xhat einen Blütenblattcharakter. Wenn wir über die Breite dieser Blätter sprechen, sollte betont werden, dass es für Graphen von diskreten Spektren periodischer Signale zwei Möglichkeiten gibt, die horizontale Achse zu graduieren - in den Harmonischen und Frequenzen.
In der Figur entspricht die Abstufung der Achse der Anzahl der Oberwellen und die Frequenzparameter des Spektrums sind in dem Diagramm unter Verwendung von Abmessungslinien aufgetragen.
So ist die Breite der Blütenblätter, gemessen in der Anzahl der Harmonischen, gleich dem Arbeitszyklus der Sequenz k = ngwir haben Sünde (π k /g) = 0 wenn n≠ 0). Daraus folgt die wichtige Eigenschaft des Spektrums einer Folge von Rechteckimpulsen: Es gibt keine Oberwellen mit Null-Vielfachen (Nullamplituden) mit Vielfach-Vielfachen.
Der Frequenzabstand zwischen benachbarten Harmonischen ist gleich der Pulswiederholrate - 2 π /T. Die Breite der Blütenblätter des Spektrums, gemessen in Einheiten der Frequenz, ist 2 π /τ d.h. umgekehrt proportional zur Pulsdauer. Dies ist eine Manifestation des allgemeinen Gesetzes - je kürzer das Signal, desto breiter sein Spektrum.
Fazit Für jedes Signal sind seine Fourier-Reihenentwicklungen bekannt. Wissen τ und T Wir können berechnen, wie viele Oberwellen benötigt werden, um Leistung zu übertragen.
Methoden zur Analyse von linearen Systemen mit konstanten Koeffizienten.
Die Aufgabe in der Produktion:
Es gibt ein lineares System (es hängt nicht von der Amplitude des Signals ab):
Es ist notwendig, die Differentialgleichung für dieses System aufzuschreiben.
Dies ist eine typische Aufgabe der Elektrotechnik. Es gibt eine leistungsfähige Möglichkeit, dieses Problem im Zeitbereich zu lösen.
In einer allgemeinen Ansicht:
Die Reihenfolge der Gleichung hängt von der Anzahl der reaktiven Elemente ab.
Es kann in Form eines Gleichungssystems ersten Grades geschrieben werden.
Beispiel: :
U R = IR
U C =
I = C
U R + U C = X (t)
RC +U C =X (t)
U C - ist Y Ausgabe also: RC +U OUT. =X (t)
Die weitere Lösung reduziert zuerst die homogene Gleichung und dann die nicht homogene Gleichung.
Diese Lösung ist etwas vereinfacht, wenn Sie von einer temporären Ebene zu einer anderen Ebene einer komplexen Variablen wechseln. Die Translation von der Zeitebene in die komplexe Ebene wird durch eine direkte Laplace-Transformation durchgeführt.
RCY " + Y = X(t)
Die Differenzgleichung wird berechnet.
Direkte Laplace-Transformation.
Die Laplace-Transformation ist eine integrale Transformation, die die Funktion verbindet S(p) einer komplexen Variablen ( bild) mit Funktion s(x) der realen Variablen ( das Original).
Die Laplace-Transformationen spielen eine sehr wichtige Rolle bei der Untersuchung von Systemen, die durch lineare Differentialgleichungen beschrieben werden. Unter Verwendung der direkten Laplace-Transformation kann man von Differentialgleichungen zu algebraischen gehen, sie in algebraischer Form lösen und dann die inverse Transformation verwenden, um das gewünschte Ergebnis zu erhalten. Ein ähnliches Ergebnis wird erreicht, wenn lineare Differenzengleichungen gelöst werden, wenn die Z-Transformationsvorrichtung verwendet wird.
Die direkte Laplace-Transformation wird gemäß der Formel durchgeführt: , wo ist eine komplexe Variable, wo σ - Dämpfung.
Beispiel: :
Die Reaktion des Systems auf die dem Eingang zugeführte Delta-Funktion wird aufgerufen gepulst charakteristisch System.
Die Reaktion des Systems auf die Funktion eines einzelnen dem Eingang zugeführten Sprungs wird aufgerufen Übergangscharakteristik.
Die zeitliche Ableitung einer Funktion ist die Multiplikation dieser Funktion mit p:
Ein Zeitintegral einer Funktion ist die Einteilung dieser Funktion in p:
In Übereinstimmung damit, der Ausdruck: RCY " + Y = X(t) wird so geschrieben: RCPY + Y = X(p)
Den Verwandten lösen Y, erhalten wir: Y (RCP + 1)= X(p)
Der Übertragungskoeffizient dieser Gleichung ist:
In der Ebene einer komplexen Variablen ist dies:
Hier XP- als Testgerätfunktion genommen. Das ist also die Impulsantwort in PRegion.
Es gibt keine Variablen im Zähler. Die Wurzeln des Zählers werden aufgerufen nullen Übertragungsfunktionen.
Bei Nullpunkten ist die Übertragungsfunktion Null, und an den Polpunkten neigt die Übertragungsfunktion zur Unendlichkeit.
Die komplexe Frequenz in der Ebene einer komplexen Variablen ist der einfachste Weg, die Stabilität eines Systems zu testen. Das System wird aufgerufen nachhaltig, wenn bei einem Eingangssignal von Null das Ausgangssignal unter irgendwelchen Anfangsbedingungen abklingt. Ein lineares System ist genau dann stabil, wenn die Pole seiner Übertragungsfunktion in der linken komplexen Halbebene liegen.
Die Fourier-Transformation.
Die Fourier-Transformation assoziiert ein zeitlich gegebenes Signal mit seiner spektralen Funktion. In diesem Fall ein Übergang von zeitdomäne in der frequenz.
Die Fourier-Transformation liefert eine Grundlage zum Erhalten der Frequenz- und Phaseneigenschaften (wir wollen die Hüllkurve des Spektrums erhalten). Die Fourier-Transformation ist eine spezielle Laplace-Transformation unter σ = 0.
Zum Beispiel:
Wir erhalten die Frequenz- und Phaseneigenschaften für die oben betrachtete einfache Kette, für die der Übertragungskoeffizient ist:
Die Fourier-Transformation unterscheidet sich von der Laplace-Transformation dadurch, dass sie p = jω, so wird unser Ausdruck die folgende Form annehmen:
Die Frequenzantwort ist die Abhängigkeit des Übertragungskoeffizientenmoduls von der Frequenz.
Wir multiplizieren den Zähler und den Nenner dieses Bruchteils mit der komplexen Zahl (1- jωRC) (unter der Annahme, dass sich der Bruchteilwert nicht ändert):
Daher ist der Betrag des Übertragungskoeffizienten gegeben durch:
Bei Null ist der Modul des Transmissionskoeffizienten Eins und mit zunehmender Häufigkeit beginnt er zu fallen:
Für zwei Werte sieht die PFC wie folgt aus:
Daher ist es für die Analyse eines Systems notwendig, alle Merkmale zu konstruieren.
Diskrete Laplace-Transformation.
Alles, was früher betrachtet wurde - im Zusammenhang mit kontinuierlichen Funktionen. Wenn in einer kontinuierlichen Funktion statt t ersetzen kT und anstelle des Integrals die Summe ersetzen, dann gibt es eine Laplace-Transformation.
Die Laplace-Transformation wird auf dem Gebiet der Computersteuerungssysteme verwendet. Die diskrete Laplace-Transformation kann auf Gitterfunktionen angewendet werden.Eine Gitterfunktion ist eine Funktion, deren Werte nur zu diskreten Zeitpunkten bestimmt werdenkT, wobei k eine ganze Zahl ist, und TProbenahmezeit.
Die diskrete Laplace-Transformation ermöglicht die Aufzeichnung des Transmissionskoeffizienten. AusgezeichnetD -Transformation undZ -Transformation.
D – transformation :
Z - Umwandlung:
Die Z-Transformation transformiert die Halbebene in eine andere Ebene Z. Z-Transformation Dies ist die Laplace-Transformation der Gitterfunktion, die durch Ändern der Variablen erzeugt wird:
Multiplikation mit Z -1 ist eine Verschiebung für eine Abtastperiode.
Nehmen wir den ursprünglichen Ausdruck, von dem wir angefangen haben:
Daher ist das Berechnungsverfahren wie folgt gezeichnet:
Nach Eigenschaften von z-Transformation, die diskrete Verzögerungssequenz Zyklus um einen Takt der Multiplikation ihrer entspricht z-Transformation auf z -1.Poetomu Speicherelemente trägt, eine solche Verzögerung, werden in dem Blockdiagramm als «z -1» angegeben.
Die Anzahl der vorherigen Proben wird aufgerufen filterreihenfolge.
Eine Anzahl vorheriger Abtastwerte des Eingangssignals werden in Speicherzellen gespeichert, die eine diskrete Verzögerungsleitung bilden. Diese Abtastwerte werden mit den Koeffizienten bk multipliziert und summiert, wodurch ein Ausgangsabtastwert y (n) gebildet wird.
Da die Berechnungen nicht die vorherigen Proben verwenden ausgabe Signal, es gibt keine Rückkopplungen in der Schaltung. Daher werden solche Filter aufgerufen nicht rekursiv. Wenn ein einzelner Impuls an den Eingang angelegt wird, bewegt er sich entlang der Verzögerungsleitung, multipliziert mit den Koeffizientenb 0 , b 1 , b 2 ... und zum Ausgang des Gerätes gehen (schließlich sind alle anderen Eingangssignale des Addierers gleichzeitig Null). Offensichtlich enthält die Verzögerungsleitung in einer realen Vorrichtung eine endliche Anzahl von Elementen, also auch die Impulsantwort eines nichtrekursiven Filters ultimativ nach Dauer. Dies führte zu einem anderen Namen für solche Filter: Filter mit endliche Impulsantwort (FIR-Filter).
Die Struktur der Software für den FIR-Filter:
Das Programm:
ORDFIL EQU 40; ein Filter 40. Ordnung.
BUFFER M, ORDFIL; Überprüfen Sie die Möglichkeit, einen Ringpuffer zu erstellen.
COEFFS: DS b 0, b 1, b 3
DSb4, b5, b6
…………………
DS b 37, _VVOD EQU Y: FFC 0; Bestimmen Sie die Eingabeports.
PORT _VIVOD EQU Y: FFC 1; Bestimmen Sie die Ausgabeports.
ORG P: 0; Organisation von P-Speicher.
RESET: JMP START; bedingungsloser Übergang zur START-Markierung.
P: 100; Das Programm beginnt mit der hundertsten Zelle.
START: VERSCHIEBEN BUF _X, R 0; Die Anfangsadresse X wird in R 0 eingegeben.
MOVE # ORDFIL ─1, M 0, Übergang zum mod.ariff (die Reservierungsnummer ist 1 Element. Als Reihenfolge dieses Puffers).
BEWEGEN # COEFFS, R 4; Organisation eines Pufferzyklus für Koeffizienten. im Y-Gedächtnis.
BEWEGEN # M 0, M 4; Da die Länge übereinstimmen muss, geben Sie sie erneut ein. von M 0 bis M 4.
CLRA; Setzen Sie die Batterie zurück.
REP #ORDFIL; Wiederholen Sie die Kettenoperation.
VERSCHIEBEN A, X: (R 4) +; automatisches Inkrement und alle Zellen sind gepuffert.
LOOP: MOVEP Y: PORT _VVOD, X ─ (R 0); Byte. Übertragung der Messwerte (last.multivn b 0).
REP #ORDFIL ─1; Rep. Kettenoperation (39 mal ohne Rundung)
MAC X 0, Y 0, A X: (R 0) +, X 0 Y: (R 4) +, Y 0, Smart X 0 bis Y 0, Unterklasse.
MACRX0, Y0, A
MOVE A, Y: PORT _VIVOD; Byteübertragungsinhalt Batterie.
JMP SCHLEIFE; unbedingter Sprung zum LOOP-Label.
Die Reihenfolge der Gestaltung digitaler Filter.
Der Entwurfsprozeß für digitale Filter bezieht sich hauptsächlich auf den Typ des Filters auf der Linie der Frequenzcharakteristika. Eines der Probleme, die häufig in der Praxis auftreten, ist die Erzeugung von Filtern, die Signale in einem bestimmten Frequenzband durchlassen und die verbleibenden Frequenzen verzögern. Es gibt vier Arten:
1.) Tiefpassfilter (LPF, englischer Begriff -tiefpassfilter ), die Frequenzen unterhalb einer bestimmten Grenzfrequenz sendenω 0.
2.) Hochpassfilter (HPF, englischer Begriff -hochpassfilter ) übertragen Frequenzen, die größer als eine bestimmte Grenzfrequenz sindω 0.
3.) Bandpassfilter (PF, englischer Begriff -bandpassfilter ), Übertragungsfrequenzen in einem bestimmten Bereichω 1…. ω 2 (Sie können auch durch eine mittlere Frequenz gekennzeichnet seinω 0 = (ω 1 + ω 2 ω = ω 2 – ω 1 ).
4.) Notch-Filter (andere mögliche Namen - Sperrfilter, Filterstecker, Bandsperrfilter, englische Bezeichnung -bandsperrfilter ), bis zum Ausgang all das Frequenz, außer für in einem bestimmten Bereich liegen ω 1…. ω 2 (Sie können auch durch eine mittlere Frequenz gekennzeichnet seinω 0 = (ω 1 + ω 2 ) / 2 und die Bandbreite von Δ ω = ω 2 – ω 1 ).
Die ideale Form von AFC-Filtern dieser vier Typen:
Eine solche ideale (rechteckige) Form von AFC kann jedoch nicht physikalisch realisiert werden. Daher gibt es in der Theorie der analogen Filter eine Reihe von Methoden annäherungenrechteckiger Frequenzgang
Durch die Berechnung von LPF ist es außerdem möglich, die Cutoff-Frequenz durch einfache Transformationen zu ändern und sie in HPF-, Bandpass- oder Notch-Filter mit bestimmten Parametern umzuwandeln. Daher beginnt die Berechnung des analogen Filters mit der Berechnung des sog prototyp-FilterDies ist ein Tiefpassfilter mit einer Grenzfrequenz von 1 rad / s.
1.) Butterworth Filter:
Die Übertragungsfunktion des Butterworth-Prototyp-Filters (Butterworth-Filter ) hat keine Nullen und seine Pole sind einheitlich angeordnets-Ebene in der linken Hälfte des Einheitsradiuskreises.Für den Butterworth-Filter wird die Grenzfrequenz durch die Stufe 1 / bestimmt. Der Butterworth-Filter bietet maximal flach Vertex im Durchlassbereich. |
|
2.) Der Chebyshev-Filter der ersten Art:
Die Übertragungsfunktion des Chebyshev-Filters der ersten Art (Chebyshev Typ I Filter ) hat auch keine Nullen, und seine Pole befinden sich in der linken Hälfte der Ellipse ansFlugzeug Für das Chebyshev-Filter der ersten Art wird die Grenzfrequenz durch das Niveau der Pulsationen im Durchlaßbereich bestimmt.Im Vergleich mit dem Butterworth-Filter der gleichen Ordnung liefert der Chebyshev-Filter einen steileren Abfall der Amplituden-Frequenz-Charakteristik in dem Bereich des Übergangs von dem Durchlaßband zu dem Sperrband. |
|
3.) Chebyshev Filter der zweiten Art:
Die Übertragungsfunktion des Chebyshev-Filters der zweiten Art (Chebyshev Typ II Filter ), im Gegensatz zu früheren Fällen, hat beide Nullen und Pole. Tschebyscheff-Filter der zweiten Art werden auch Chebyshev-Inversfilter genannt (inverser Chebyshev-Filter ). Die Grenzfrequenz des Chebyshev-Filters der zweiten Art ist nicht das Ende des Passbandes, sondern beginn des Haltestreifens. Der Übertragungskoeffizient des Filters bei der Frequenz Null ist gleich 1 bei der Grenzfrequenz - bis zu einem spezifizierten Pegel der Welligkeit in dem Verzögerungsband. Wann? ω → ∞ der Übertragungskoeffizient ist Null für ungerade Filterordnung und der Welligkeitspegel für gerade. Wann? ω = 0 Die Antwort des Chebyshev-Filters der zweiten Art ist maximal flach. |
|
4.) Elliptische Filter:
Elliptische Filter (Cauer-Filter, englische Begriffe -elliptischer Filter, Cauer-Filter In einem gewissen Sinne) kombiniert die Eigenschaften Chebyshev-Filter der ersten und die zweiten Art, wie die Filter eine Frequenzantwort elliptische Welligkeit einen vorbestimmten Wert, die beide in dem Durchlaßband und im Sperrbereich aufweisen. Aufgrund dessen ist es möglich, die maximal mögliche (für eine feste Filterordnung) Steigung der AFC-Rampe, d.h. Übergangszone zwischen dem Durchlassband und der Verzögerung. Die elliptische Filterübertragungsfunktion hat sowohl Pole als auch Nullen. Nullen, wie im Falle des Chebyshev-Filters der zweiten Art, sind rein imaginär und bilden komplexe konjugierte Paare. Die Anzahl der Nullen der Übertragungsfunktion ist gleich der maximalen geraden Zahl, die die Reihenfolge des Filters nicht überschreitet. |
MATLAB-Funktionen Zur Berechnung der Butterworth-, Chebyshev-Filter der ersten und zweiten Art sowie elliptischer Filter ist es möglich, sowohl analoge als auch diskrete Filter zu berechnen. Die Filterberechnungsfunktionen erfordern, dass die Reihenfolge des Filters und seine Grenzfrequenz als Eingangsparameter eingestellt werden.
Die Reihenfolge des Filters hängt ab von:
- von zulässiger Ungleichmäßigkeit der Bandbreite
- des Wertes der Zone der Unsicherheit. (Je kleiner die Zone der Unsicherheit ist, desto steiler ist die Abnahme der Frequenzantwort).
Für FIR-Filter sind einige Dutzend oder Hunderte und für IIR-Filter übersteigt die Reihenfolge nicht mehrere Einheiten.
Die Symbole bieten die Möglichkeit, alle Koeffizienten zu betrachten. Das Entwerfen des Filters erfolgt in einem Fenster.
Ein Filter mit einer endlichen Impulsantwort (FIR-Filter der FIR-Filter, FIR-Filter) - eine Art elektronischen Filter linearen Kennmerkmal von denen die begrenzten Zeit seiner Impulsantwort ist (zu einem bestimmten Zeitpunkt, es genau gleich Null wird). Ein solcher Filter wird wegen der fehlenden Rückkopplung immer noch nicht-rekursiv genannt. Der Nenner der Übertragungsfunktion eines solchen Filters ist eine bestimmte Konstante. Nicht-rekursive Filter. Für Nullwerte der Koeffizienten a m wird Gleichung (2.1.2) zur linearen diskreten Faltungsgleichung für die Funktion x (k) mit dem Operator b n:
y (k) = bnx (k-n). (2.1.3)
Die Werte der Ausgangszählwerte der Faltung (2.1.3) für jedes Argument k werden durch die aktuellen und "vergangenen" Werte der Eingangsabtastwerte bestimmt. Ein solcher Filter wird als nicht-rekursives digitales Filter (NCF) bezeichnet. Das Summierungsintervall für n wird als "Fenster" des Filters bezeichnet. Das Filterfenster ist N + 1 Zählungen, der Filter ist einseitig kausal, d.h. verursacht durch die aktuellen und "vergangenen" Werte des Eingangssignals, und das Ausgangssignal kann nicht vor dem Eingangssignal liegen. Der Kausalfilter kann physikalisch in Echtzeit implementiert werden. Für k Bei der Verarbeitung von Daten auf einem Computer wird die Kausalitätseinschränkung aufgehoben. In der Software-Reihenfolge des Filters können sowohl "Vergangenheits-" als auch "Zukunfts" -Werte der Eingangsfolge von Zählwerten relativ zu dem gegenwärtigen Berechnungspunkt k sein, und Gleichung (2.1.3) wird die Form haben: y (k) = bnx (k-n). (2.1.4) Wenn N "= N ist, wird das Filter als zweiseitig symmetrisch bezeichnet." Symmetrische Filter ändern im Gegensatz zu Einwegfiltern die Phase des verarbeiteten Signals nicht. Da die Antwort der NCF auf einen einzelnen Eingangsimpuls (und gleichermaßen auf ein beliebiges beliebiges Eingangssignal) immer begrenzt und begrenzt ist durch die Größe des Filterfensters, werden solche Filter auch als Filter mit endlicher Impulsantwort (FIR-Filter) bezeichnet. Die Technik zum Durchführen der Filterung unterscheidet sich nicht von der Technik zum Ausführen der herkömmlichen diskreten Faltung von zwei Datensätzen. Zuordnung: Um die Hauptbestimmungen von Ketten auf FIR-Filtern zu studieren. Machen Sie eine vorläufige Berechnung, beantworten Sie die Fragen zur Selbstüberprüfung schriftlich. Führen Sie eine vorläufige Berechnung durch. Montieren Sie die Schaltung 1, die eine Spannungsimpulsquelle, ein Drei-Link-FIR-Filter enthält. Konstruieren Sie eine AFC eines vierstufigen FIR-Filters. (Ändern Sie die Formel H (z)) Konstruieren Sie eine AFC eines Fünf-Link-FIR-Filters. (Ändern Sie die Formel H (z)) Ordnen Sie die in der vorläufigen Berechnung erhaltenen Graphen den Graphen zu, die Sie im Micro-Cap-Programm erhalten haben. Um eine Schlussfolgerung zu ziehen. Vorläufige Berechnung: Experiment: Wir werden Schaltung 1 sammeln, die eine Schaltspannungsquelle, ein dreistufiges FIR-Filter enthält. Konstruiere eine AFC eines dreistufigen FIR-Filters. Konstruieren Sie eine AFC eines vierstufigen FIR-Filters. Konstruiere eine AFC eines dreistufigen FIR-Filters. Fazit: In diesem Labor wurden die wichtigsten Zeit- und Frequenzcharakteristika von Filtern mit endlicher Impulsantwort (FIR-Filter) unter Verwendung des Micro-Cap-Programms erhalten. Für die Schaltung 1, einschließlich einer gepulsten Spannungsquelle, wurde das FIR-Filter durch Filterantwort mit einer unterschiedlichen Anzahl von Verbindungen erhalten. Die experimentell erhaltenen Kurven entsprachen den Kurven, die in der vorläufigen Berechnung erhalten wurden.