W tym artykule chciałbym porozmawiać o moich eksperymentach na tworzeniu prostego parametrycznego filtru cyfrowego FIR na Verilog HDL. Do dzisiaj starałem się unikać przetwarzania cyfrowego sygnału na naszej stronie internetowej: w końcu jest to dość trudne. Cóż, gdy jest to trudne, trzeba poświęcić dużo czasu, aby samodzielnie zbadać problem. Teraz czytam stronę http://www.dsplib.ru/content/filters/ch10/ch10.html przez tydzień - bardzo interesujący zasób, w którym wszystko jest dość zwięzłe i zrozumiałe. Po przeczytaniu kilku artykułów ze strony dsplib.ru zdałem sobie sprawę, że lepiej nie pisać teorii. Ale prawdopodobnie mogę zaoferować moje zrozumienie i wdrożenie filtru Verilog.
Tak więc filtry cyfrowe są cyfrowymi urządzeniami przetwarzającymi sygnały.
Sygnał cyfrowy jest ciągiem liczb, które reprezentują wynik pomiaru wielkości fizycznej w równych odstępach czasu. Możesz mierzyć napięcie, prąd, światło, temperaturę, kąt, prędkość i tak dalej.
Istnieją jednak niuanse.
Po pierwsze, mówią, że pomiary powinny być wykonywane z częstotliwością ponad 2 razy wyższą niż najwyższa częstotliwość występująca w widmie sygnału. Wskazuje na to twierdzenie Kotelnikova. Praktyczna konsekwencja tego polega na tym, że przed pomiarem sygnału należy upewnić się, że jego widmo nie zawiera składowych harmonicznych o częstotliwościach wyższych niż połowa częstotliwości pomiaru. Oznacza to, że przed licznikiem wymagany jest odpowiedni filtr analogowy. Jeśli nie zostanie to zrobione, wówczas w spektrum sygnału cyfrowego mogą pojawić się częstotliwości, których wcześniej nie było, pierwotny sygnał zostanie zniekształcony. To szkodliwe zjawisko nazywa się "aliasingiem".
Po drugie, ważna jest cyfrowa pojemność urządzenia pomiarowego, ADC, przetwornika analogowo-cyfrowego. Tutaj niestety nie mogę podać żadnych zaleceń. Z jakiegoś powodu w wielu artykułach, które czytam, jest kwestia wyboru częstotliwości próbkowania według twierdzenia Kotelnikowa, ale nie ma wzmianki o pojemności bitu ADC. To trochę dziwne, ponieważ twierdzenie Kotelnikova implikuje pobrane próbki z absolutną dokładnością, co w rzeczywistości nie może być. Należy również przyjrzeć się poziomowi szumu w sygnale wejściowym, może nawet okazać się, że bity mniejszego rzędu ADC "drżą". Prawdopodobnie nie ma sensu przyjmowanie ADC z bitową pojemnością, która pozwala na drżenie kilku bitów niższego rzędu z powodu szumu w sygnale wejściowym.
W każdym razie, po tym, jak sygnał wejściowy zostanie zdigitalizowany i jest strumieniem liczb, można go przetwarzać metodami numerycznymi w mikrokontrolerach lub układach FPGA.
Jednym z zadań cyfrowego przetwarzania sygnałów jest filtrowanie. Filtrowanie oznacza tłumienie niektórych częstotliwości w widmie i transmisję / wzmocnienie innych. Napisałem o widmie.
Istnieją filtry dolnoprzepustowe, które przechodzą tylko częstotliwości poniżej określonej częstotliwości odcięcia. Istnieją filtry górnoprzepustowe, które, przeciwnie, tłumią częstotliwości poniżej częstotliwości granicznej. Istnieją filtry pasmowe, które przekazują lub tłumią tylko częstotliwości w danym paśmie (filtry pasmowo-pasmowo-pasmowe).
Jeśli chodzi o układ wewnętrzny, wydaje mi się, że najprostsze są filtry FIR. Filtr FIR jest skończonym filtrem odpowiedzi impulsowej. W angielskiej literaturze FIR to FIR, czyli filtr odpowiedzi na skończony impuls.
Struktura tego filtra to:
Tutaj bloki Z-1 są liniami opóźniającymi. W praktyce łańcuch bloków Z-1 jest po prostu sekwencją rejestrów do przechowywania danych. Na każdej krawędzi zegara, która jest częstotliwością próbkowania, dane wejściowe przesuwają się z pierwszego rejestru do następnego. Filtr może zawierać łańcuch rejestrów o dowolnej długości. Dodatkowo, z każdego bloku Z-1 dane są przesyłane do mnożnika. Każdy z mnożników mnoży własne dane przez pewną stałą. Następnie wszystkie wyniki mnożenia są sumowane i tutaj dostajemy przefiltrowany sygnał. Szczególną nauką jest obliczenie długości filtra i współczynników dla mnożników. Charakterystyka filtra zależy od współczynników.
Filtr FIR ma kilka ważnych cech:
- jego zachowanie jest stałe i przewidywalne;
- w razie potrzeby można zaimplementować bardzo szybki filtr, ponieważ w jego algorytmie dane przesuwają się tylko do przodu. Łatwo jest wykonać przetwarzanie danych rurociągu (potok).
Pozwól mi wyjaśnić, jak rozumiem oba te punkty.
O stabilności i przewidywalności. Jeśli przyjrzysz się bliżej strukturze filtru, staje się jasne, jak porusza się w nim dane. Jeśli dane wejściowe są 16-bitowe, a współczynniki dla mnożników są 16-bitowe, to po pomnożeniu wynik staje się 32-bitowy. Następnie następuje podsumowanie. Dodanie dwóch liczb 32-bitowych daje 33-bitową liczbę. Znając długość filtra, możesz dokładnie powiedzieć, jaki będzie wynik. Filtr długości 4 będzie miał 34-bitową liczbę i punkt na wyjściu. Operacje matematyczne w filtrze nie kumulują błędu i nie prowadzą do przepełnienia wyniku. Niektóre inne filtry, takie jak IIR (filtr z Infinite Impulse Characteristics, IIR - filtr Infinite Impulse Response) zawierają pętle sprzężenia zwrotnego. na przykład są to:
Tutaj wszystko jest inne. Oto sumator, który dodaje sygnał wejściowy do opóźnionego i pomnożonego przez sygnał wyjściowy o pewnym współczynniku. Sumator ma stałą szerokość bitową. Oczywiste jest, że taki kalkulator może łatwo się przepełnić. Jeśli wyślesz sygnał ze stałym komponentem do takiego obwodu, to z czasem wynik zagwarantuje przepełnienie baterii. Nieprzewidywalność i niestabilność już nadchodzą. Filtry IIR należy stosować ostrożnie, znając wcześniej charakter danych wejściowych.
Teraz o prędkości filtra FIR. Ponieważ dane poruszają się tylko do przodu, dość łatwo jest skorzystać z przetwarzania potoków. Na przykład, podczas gdy mnożniki mnożą następne dane z rejestrów opóźnień, sumator może obliczyć sumę poprzednich wyników mnożników. A same multiplikatory mogą korzystać z wewnętrznego rurociągu, a sumator może korzystać z wewnętrznego rurociągu. Tak, wynik z filtra okaże się opóźniony o kilka cykli, ale to wszystko. Jeśli spojrzysz na link IIR filtra, jak na powyższym rysunku, jest oczywiste, że nie można dodać z powodu sprzężenia zwrotnego, dopóki mnożnik nie obliczy jego wyniku.
Ze schematu blokowego filtra FIR wynika, że jest on nazywany filtrem o skończonej odpowiedzi impulsowej. Jeśli w strumieniu liczb wejściowych spośród wszystkich zer znajduje się jedna jednostka, to znaczy pojedynczy impuls, filtr zareaguje na ten impuls, który mija się / kończy, gdy tylko ten impuls opuści ostatnią linię opóźniającą. W filtrach IIR wręcz przeciwnie - pojedynczy impuls powróci do wejścia przez pętlę sprzężenia zwrotnego przez nieskończenie długi czas. Dlatego IIR jest nieskończonym filtrem odpowiedzi impulsowej.
- http://www.micromodeler.com/dsp/
Użyjmy narzędzia TFilter.
Na przykład chcę zbudować cyfrowy dolnoprzepustowy filtr. Częstotliwość próbkowania wynosi 20 MHz. Chcę przy częstotliwościach powyżej 2 MHz znacznie tłumić wszystkie częstotliwości, co najmniej -40 dB.
Wprowadź wymagane dane w polach wprowadzania danych na dole strony i kliknij przycisk "Design FIlter". Po kilku sekundach obliczany jest mój filtr, a wynik po prawej stronie w oknie, jako lista czynników dla mnożników: -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. W sumie jest 27 współczynników, co oznacza, że taka długość filtra będzie.
Na przykład chcę zbudować filtr pasmowoprzepustowy. Częstotliwość próbkowania wynosi 20 MHz. Pozwól filtrowi tłumić częstotliwości poniżej 1 MHz i powyżej 4 MHz.
Wprowadzam dane, wykonuję obliczenia, uzyskuję współczynniki filtra: -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. Tutaj długość filtra wyłoniła 25 tapas.
Oto współczynniki filtra. Co z nimi zrobić? Byłoby miło zrobić moduł parametryczny na Verilog HDL, aby można go było łatwo skonfigurować. Logicznie, parametry modułu filtrującego to jego długość, to znaczy liczba linii opóźniających, szerokość danych wejściowych i współczynniki dla mnożników.
Jeśli szerokość danych wejściowych to IWIDTH, a liczba rejestrów w łańcuchu linii opóźniających to TAPS, to dość łatwo opisać sam łańcuch rejestru:
moduł jodły (clk, coefs, in, out);
parametr IWIDTH = 16; // szerokość danych wejściowych (sygnału)
parametr TAPS = 2; // liczba kliknięć filtra
przewód wejściowy CLK;
przewód wejściowy;
genvar i;
generować
dla (i = 0;
rozpocznij: dotknij
// utworzyć łańcuch rejestrów dotykowych
reg r = 0;
jeśli (i == 0)
zacząć
// Pierwsze dotknięcie pobiera sygnał z wejścia
always @ (posedge clk)
r<= in;
koniec
jeszcze
zacząć
// wybierz reg pobiera sygnał z prev step reg
always @ (posedge clk)
dotknij [i] .r<= tap.r;
koniec
koniec
endgenerate
endmoduł
Generatywna generacja języka Verilog umożliwia dynamiczne tworzenie wymaganej liczby rejestrów i łączenie ich w razie potrzeby z łańcuchem. Okazuje się, że:
W ten sposób długość filtra można ustawić za pomocą parametru modułu Verilog. Podobnie, mnożniki są tworzone w pętli for () w ramach metody generate-endgenerate:
genvar i;
generować
dla (i = 0;
rozpocznij: dotknij
........
// pobierz mnożenie stałej stałej mnożenia
drut c;
przypisz c = coefs [((TAPS-1-i) * 32 + CWIDTH-1) :( TAPS-1-i) * 32];
// oblicz mnożenie i napraw wynik w rejestrze
reg m;
always @ (posedge clk)
m<= $signed(r) * $signed(c);
............
W ten sposób, oprócz rejestrów linii opóźniającej, zostaną utworzone mnożniki wraz z ich współczynnikami:
Zdecydowałem, że współczynniki dla mnożników mogą być przekazywane do modułu jako sygnał magistrali (...) jako wejście, tak jak poniżej:
fir # (. TAPS (27)) fir_lp_inst (
.clk (tb_clk),
.coefs ((
-32 "d510,
-32 "d520,
.......
32 "d575,
32 "d625,
-32 "d520,
-32 "d510
}),
.in ()
.out ()
);
Tutaj każdy współczynnik filtra przyjmuje ustaloną liczbę 32 bitów w magistrali (zdecydował, że powinno to wystarczyć). Ale spośród tych 32 bitów moduł wybierze żądaną deklarowaną liczbę bitów dla współczynników. Na przykład parametr CWIDTH = 16; Przypomnijmy, że szerokość wyniku ostatecznie zależy od liczby bitów w mnożniku.
Dla ułatwienia implementacji, nie stworzyłem jeszcze potoku dla adderów. Można to zrobić szybko, na przykład, aby dodać wartości z mnożników w parach, następnie dodać wyniki poprzednich par w parach itd. Do tej pory stworzyłem jeden duży sumator, jako jedną dużą i złożoną kombinatoryczną funkcję. Z pewnością w FPGA nie będzie w stanie pracować na wysokich częstotliwościach, ale jak na razie zamykam na to oczy. Zrobiłby po prostu działać.
Pełny tekst modułu będzie wyglądał następująco:
Moduł jodły (clk, coefs, in, out); Parametr IWIDTH = 16; // parametr danych wejściowych (sygnał) szerokość CWIDTH = 16; // wybierz szerokość danych coef (powinna być mniejsza niż 32-bitowa) parametr TAPS = 2; // liczba kranów filtra localparam MWIDTH = (IWIDTH + CWIDTH); // mnożona szerokość localparam RWIDTH = (MWIDTH + TAPS-1); // szerokość filtru wyników przewód wejściowy clk; przewód wejściowy; współrzędne przewodu wejściowego; // cały wyjściowy współczynnik wyjściowy wyprowadzony na zewnątrz; // output pobiera tylko część bitu wyniku genvar i; generuj dla (i = 0; Jeśli jest czas, spróbuję ulepszyć ten moduł, dodać sumatory potoku. Teraz główne pytanie - jak upewnić się, że w ogóle działa? Jak? proste - Istnieje symulator Verilog. Napiszę testbench, który będzie naśladować sygnał wejściowy przy różnych częstotliwościach i zobacz odpowiedź na wyjściu filtra. Nawet więcej. Jeśli testbench syntezuje sygnał wejściowy jako sinusoidę i jeśli płynnie zmienisz jego częstotliwość w pewnym zakresie, od niskiej do wyższej, a następnie obserwując reakcję na wyjściu filtra, to bezpośrednio zobaczę jego charakterystykę amplitudowo-częstotliwościową! Struktura programu testbench.v: Już pokazałem sinusoidę na testbench. Wezmę stary kod, poprawię go trochę i dokonam płynnej zmiany częstotliwości od 100 kHz do 4 MHz w krokach 1000 Hz. Wewnątrz stołu testowego zainstaluję dwie kopie modułu filtrującego fir (), ale o różnych współczynnikach, dla filtru dolnoprzepustowego i filtra pasmowego. Cały kod testbench jest tutaj: testbench modułu `timessale 1ns / 1ns (); reg tb_clk; początkowy tb_clk = 0; always # 25 tb_clk = ~ tb_clk; rzeczywisty PI = 3,14159265358979323846; real last_time = 0; // Sec real current_time = 0; // Sek. Rzeczywisty kąt = 0; // Rad real frequency = 100; // Hz liczba całkowita freq_x100kHz = 0; // * 100kHz reg signed sin16; // funkcja obliczająca sinus (x) funkcja grzechu rzeczywistego; wejście x; prawdziwe x; prawdziwe x1, y, y2, y3, y5, y7, suma, znak; begin sign = 1.0; x1 = x; jeśli (x1<0)
begin
x1 = -x1;
sign = -1.0;
end
while (x1 > PI / 2.0) początek x1 = x1 - PI; znak = -1.0 * znak; koniec y = x1 * 2 / PI; y2 = y * y; y3 = y * y2; y5 = y3 * y2; y7 = y5 * y2; suma = 1,570794 * y - 0,645962 * y3 + 0,079692 * y5 - 0,004681712 * y7; sin = sign * sum; funkcja końca funkcji set_freq; wejście f; prawdziwy f; begin frequency = f; freq_x100kHz = f / 100000.0; end endtask always @ (posedge tb_clk) begin current_time = $ realtime; kąt = kąt + (current_time-last_time) * 2 * PI * częstotliwość / 1000000000,0; // wyświetlacz ("% f% f", current_time, kąt); while (kąt\u003e PI * 2.0) początek kąt = kąt-PI * 2,0; koniec sin16 = 32000 * sin (kąt); last_time = current_time; koniec // dolnoprzepustowy przewód filtrujący out_lowpass; jodła # (. TAPS (27)) fir_lp_inst (.clk (tb_clk) .coefs ((-32 "D510, -32" -32 "D520, d625, -32" -32 "d575, 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)) .W (sin16) .out ( out_lowpass)) // pasmowo, przewód out_bandpass ;. jod # (zawory (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), .out (out_bandpass)); liczba całkowita i; prawdziwy f; initial begin $ dumpfile ("out.vcd"); $ dumpvars (0, testbench); f = 100 000; dla (i = 0;<4000; i=i+1)
begin
set_freq(f);
#1000;
f=f+1000;
end
$finish;
end
endmodule
Spędzam symulację w icarus verilog. W wyniku symulacji program vvp tworzy plik wyjściowy ze schematami czasowymi sygnałów out.vcd. Można je oglądać w programie GtkWave. Oto co widzisz: sygnał wejściowy sin16 dla obu filtrów zmienia częstotliwość, rośnie: W szerokim zakresie częstotliwości od setek kiloherców do kilku megaherców można zobaczyć, które częstotliwości są przekazywane przez filtry i które są tłumione: Sygnał wejściowy sin16 ma jednolitą amplitudę w całym paśmie częstotliwości. Sygnały "zgrane" w obszarze o niskiej częstotliwości - to tylko GtkWave renderuje tak, ze wzrostem (zoom) wszystko wygląda normalnie. Ale sygnały wyjściowe, które powinny znajdować się na wyjściu filtrów. Filtr dolnoprzepustowy od 500 kHz zaczyna łagodnie zmniejszać amplitudę sinusoidy out_lowpass, a po 2 x MHz filtr prawie nie przepuszcza. Filtr pasmowoprzepustowy przechodzi gdzieś w paśmie 2-3 MHz, a wzdłuż krawędzi występują delikatne upadki (sygnał out_bandpass). Aby starannie rozważyć wynikowy obraz, należy użyć specjalnych funkcji przeglądania w programie GtkWave. Oto kilka przydatnych wskazówek: Kolejna wskazówka: GtkWave może wyświetlić sygnał analogowy skalowany do wysokości, biorąc pod uwagę wszystkie próbki symulacji w czasie lub biorąc pod uwagę tylko próbki, które mieszczą się w oknie. Jeśli umieścisz Format danych =\u003e Analogowy =\u003e Zmiana rozmiaru =\u003e Dane ekranu, to znaczy, jeśli pionowe skalowanie będzie uwzględniać tylko próbki, które pasują do okna, wtedy możesz zobaczyć boczne płaty o charakterystyce amplitudowo-częstotliwościowej filtra: Na początek Filtry cyfrowe (wykład)
Według rodzaju odpowiedzi impulsowej filtry cyfrowe są podzielone na dwie duże klasy: ·
Kompiluję:
\u003e iverilog -o qqq testbench.v fir.v
Symuluję:
\u003e vvp qqq
Zobacz schematy czasowe w GtkWave:
\u003e gtkwave out.vcd
Filtry FIR charakteryzują się wyrażeniem:
· Filtry z nieskończoną odpowiedzią impulsową (filtry IIR, filtry rekursywne) wykorzystują jedno lub więcej swoich wyników jako dane wejściowe, to znaczy tworzą informację zwrotną. Główną właściwością takich filtrów jest to, że ich przejściowa odpowiedź impulsowa ma nieskończoną długość w dziedzinie czasu, a funkcja przenoszenia ma frakcyjnie racjonalną postać.
IIR - filtry charakteryzują się wyrażeniem:
Różnica między filtrami FIR i filtrami IIR polega na tym, że w przypadku filtrów FIR odpowiedź wyjściowa zależy od sygnałów wejściowych, a w przypadku filtrów IIR odpowiedź wyjściowa zależy od wartości prądu.
Odpowiedź impulsowa - jest to reakcja obwodu na pojedynczy sygnał.
E pojedynczy sygnał jest zdefiniowany w następujący sposób:
Tak więc pojedynczy sygnał w jednym punkcie jest równy jednemu - w punkcie początkowym współrzędnych.
Opóźnione e pojedynczy sygnał jest zdefiniowany w następujący sposób:
Tak więc zatrzymany opóźnienia pojedynczego sygnału włączonek okresy próbkowania.
Sygnały i widma
Dualizm (dualność) reprezentacji sygnału.
Wszystkie sygnały mogą być reprezentowane na płaszczyźnie czasu lub częstotliwości.
Co więcej, istnieje kilka płaszczyzn częstotliwości.
Płaszczyzna czasowa. |
Transformacje. |
Płaszczyzna częstotliwości. |
Aby wyświetlić sygnał na płaszczyźnie czasu, znajduje się urządzenie: Wyobraź sobie, że istnieje dość długi sygnał sinusoidalny (sinusoidę powtarzaną 1000 razy w ciągu 1 sekundy): Wziąć sygnał o częstotliwości dwa razy większej: Złożyć te sygnały. Nie otrzymujemy sinusoidy, ale zniekształcony sygnał: |
Transformacje od płaszczyzny czasu do płaszczyzny częstotliwości wykonywane są za pomocą transformacji Fouriera. |
Aby wyświetlić sygnał na płaszczyźnie częstotliwości, znajduje się urządzenie: Cykliczna lub cykliczna częstotliwość ( f ). Płaszczyzna częstotliwości wyświetli szeryf: Wielkość wycięcia jest proporcjonalna do amplitudy sinusoidy, a częstotliwość to: f 1 = Dla drugiego sygnału, domena częstotliwości pokaże inny szeryf: W dziedzinie czasu całkowitego sygnału pojawią się 2 szeryfy: |
Obie reprezentacje sygnału są równoważne i wykorzystują pierwszą lub drugą reprezentację, w zależności od tego, która z nich jest wygodniejsza.
Transformacje od płaszczyzny czasu do płaszczyzny częstotliwości można wykonywać na różne sposoby. Na przykład: użycie transformaty Laplace'a lub transformacje Fouriera.
Trzy formy nagrywania serii Fouriera.
Istnieją trzy formy nagrywania serii Fouriera:
· Sinusowo-cosinusowy.
· Prawdziwa forma.
· Złożona forma.
1.) W formie sinusowo-cosinusowej Seria Fouriera ma postać:
Zawarte w formule wiele częstotliwości kω 1 są wywoływane harmoniczne; harmoniczne są ponumerowane zgodnie z indeksem k; częstotliwość ω k =kω 1 jest wywoływana kth sygnał harmoniczny.
Wyrażenie to sugeruje, że każda funkcja okresowa może być reprezentowana jako suma harmonicznych, gdzie:
Gdzie
T - okres powtórzeń tej funkcji;
ω - częstotliwość okrągła.
, gdzie
t- aktualny czas;
T- okres.
W przypadku rozszerzenia Fouriera najważniejsza jest częstotliwość. Z tego powodu pojawia się próbkowanie częstotliwości, zaczyna się pewna ilość harmonicznych.
Aby ustalić możliwość ekspansji trygonometrycznej dla danej funkcji okresowej, musimy przejść od pewnego zestawu współczynników. Odbiór dla ich definicji pojawił się w drugiej połowie XVIII wieku, Euler i niezależnie od niego na początku XIX wieku - Fourier.
Trzy formuły Eulera do określania współczynników:
;
;
Formuły Eulera nie potrzebują żadnego dowodu. Te formuły są dokładne z nieskończoną liczbą harmonicznych. Seria Fouriera jest serią ściętą, ponieważ Nie ma nieskończonej liczby harmonicznych. Współczynnik ściętej serii jest obliczany przy użyciu tych samych wzorów jak dla całej serii. W tym przypadku średni błąd kwadratowy jest minimalny.
Moc harmonicznych zmniejsza się wraz ze wzrostem ich liczby. Jeśli dodasz / upuść niektóre składowe harmoniczne, reszta elementów (inne harmoniczne) nie zostaną ponownie obliczone.
Prawie wszystkie funkcje są parzyste lub nieparzyste:
NAWET FUNKCJA |
FUNNY FUNKCJA |
Charakteryzuje się równaniem: Na przykład funkcja Cos: gdzie: t = -t Funkcja równomierna jest symetryczna względem oś y. Jeśli funkcja jest parzysta, to cały sinus współczynniki b kbędzie zero i we wzorze Fouriera będzie tylko cosinus warunki. |
Charakteryzuje się równaniem: Na przykład funkcja Grzech: Funkcja nieparzysta jest symetryczna względem środka. Jeśli funkcja jest nieparzysta, to wszystkie współczynniki cosinus a kbędzie zero i we wzorze serii Fouriera będzie tylko zatokowy warunki. |
2.) Prawdziwa forma Zapisy z serii Fouriera.
Pewną wadą postaci sinusowo-cosinusyjnej szeregu Fouriera jest ta dla każdej wartości indeksu sumy k (tj. dla każdej harmonicznej z częstotliwością kω 1) formuła zawiera dwa terminy - sinus i cosinus. Używając wzorów przekształceń trygonometrycznych, suma tych dwóch terminów może zostać przekształcona w cosinus o tej samej częstotliwości z inną amplitudą i pewną fazą początkową:
, gdzie
;
Jeśli S(t) jest funkcją równomiernej fazy φ może przyjmować tylko wartości 0 i π i jeśli S(t) - funkcja jest nieparzysta, możliwe wartości dla fazy φ są równe + π /2.
3.) Złożona forma Zapisy z serii Fouriera.
Ta forma reprezentacji szeregu Fouriera jest być może najczęściej wykorzystywana w inżynierii radiowej. Otrzymuje się go z rzeczywistej postaci, reprezentując cosinus w postaci połowy sum złożonych wykładników (ta reprezentacja wynika ze wzoru Eulera e jθ = Cosθ + jSinθ):
Stosując tę transformację do rzeczywistej postaci szeregu Fouriera, otrzymujemy sumę złożonych wykładników ze wskaźnikami dodatnimi i ujemnymi:
A teraz potraktujemy wykładniki ze znakiem minus w wskaźniku jako członkowie szeregu z liczbami ujemnymi. W ramach tego samego podejścia ogólnego, stały summand a 0/2 stanie się członkiem serii o numerze zero. Rezultatem jest złożona postać do zapisu serii Fouriera:
Wzór do obliczania współczynników C k Szeregi Fouriera:
Jeśli S(t) jest nawet funkcja, współczynniki rzędów C kbędzie czysty prawdziwei jeśli S(t) - funkcja dziwne, współczynniki z serii okazują się być czysto wyobrażony.
Zestaw amplitud harmonicznych szeregu Fouriera jest często nazywany spektrum amplitudy, a całość ich faz - widmo fazowe.
Widmo amplitudy jest prawdziwą częścią współczynników C k Szeregi Fouriera:
Re ( C k) - widmo amplitudowe.
Widmo sygnałów prostokątnych.
Rozważmy sygnał w postaci sekwencji prostokątnych impulsów o amplitudzie A, czas trwania τ i okres powtórzeń T. Pochodzenie czasu będzie znajdować się w środku impulsu.
Ten sygnał jest funkcją parzystą, więc do jego prezentacji wygodniej jest użyć sinusowo-cosinusowej serii Fouriera - będzie zawierał tylko określenia cosinus a k, równe:
Z wzoru widać, że czas trwania impulsów i okres ich powtarzania nie są w nim oddzielone, ale wyłącznie w formie relacji. Ten parametr - stosunek okresu do czasu trwania impulsów - jest wywoływany stosunek cła sekwencje impulsów i oznaczone literą: g: g = T/ τ. Wprowadzamy ten parametr do wynikowej formuły dla współczynników z szeregu Fouriera, a następnie wprowadzamy formułę do postaci Sin (x) / x:
Uwaga: W literaturze zagranicznej zamiast cyklu roboczego stosuje się odwrotność, nazywaną cyklem roboczym i równą τ / T.
Dzięki tej formie rejestracji staje się jasne, że wartość stałego terminu serii jest równa: od x → 0Sin ( x)/x → 1, następnie
Teraz możesz zapisać samą reprezentację sekwencji prostokątnych impulsów w postaci szeregu Fouriera:
Amplitudy składowych harmonicznych szeregu zależą od liczby harmonicznych zgodnie z prawem Grzechu ( x)/x.
Wykres funkcji grzechu ( x)/xma charakter płatka. Mówiąc o szerokości tych płatków, należy podkreślić, że dla wykresów dyskretnych widm sygnałów okresowych istnieją dwie możliwości kalibracji osi poziomej - w liczbie harmonicznej i częstotliwości.
Na rysunku kalibracja osi odpowiada numerom harmonicznych, a parametry częstotliwości widma są nanoszone na wykresie za pomocą linii wymiarowych.
Tak więc szerokość płatków, mierzona liczbą harmonicznych, jest równa cyklowi roboczemu sekwencji (z k = ngmamy Grzech (π k /g) = 0, jeśli n≠ 0). To implikuje ważną właściwość spektrum sekwencji prostokątnych impulsów - nie ma harmonicznych o zerowych amplitudach z liczbami będącymi wielokrotnościami cyklu roboczego.
Odległość częstotliwości pomiędzy sąsiednimi harmonicznymi jest równa częstotliwości powtarzania impulsów - 2 π /T. Szerokość płatów widmowych mierzona w jednostkach częstotliwości wynosi 2 π /τ tj. odwrotnie proporcjonalna do czasu trwania impulsów. Jest to przejaw ogólnego prawa - im krótszy sygnał, tym szersze spektrum.
Wniosek : dla dowolnego sygnału znane są jego rozszerzenia Fouriera. Wiedząc τ i T możemy obliczyć, ile harmonicznych jest potrzebnych do przekazania mocy.
Metody analizy układów liniowych ze stałymi współczynnikami.
Zadanie w produkcji:
Istnieje system liniowy (nie zależy od amplitudy sygnału):
Konieczne jest zapisanie równania różniczkowego dla tego systemu.
Jest to typowe zadanie inżynierii elektrycznej. Istnieje potężny sposób rozwiązania tego problemu w dziedzinie czasu.
W ogólnym widoku:
Kolejność równania zależy od liczby elementów reaktywnych.
Może być zapisany jako układ równań pierwszego stopnia.
Przykład: :
U R = IR
U C =
I = C
U R + U C = X (t)
RC +U C =X (t)
U C - jest Y wyjście, a zatem: RC +U EXIT =X (t)
Dalsze rozwiązanie ogranicza się do rozwiązania najpierw równania jednorodnego, a następnie niehomogenicznego równania.
To rozwiązanie jest nieco uproszczone podczas konwersji z płaszczyzny czasu na inną płaszczyznę zmiennej zespolonej. Konwersja od płaszczyzny czasu do złożonej płaszczyzny odbywa się przez bezpośrednią transformację Laplace'a.
RCY " + Y = X(t)
Oblicza równanie różnicy.
Bezpośrednia transformacja Laplace'a.
Transformata Laplace'a jest integralną transformacją łączącą tę funkcję S(str) zmienna zespolona ( obraz) z funkcją s(x) zmienna rzeczywista ( oryginał).
Transformacje Laplace'a odgrywają bardzo ważną rolę w badaniu systemów opisanych równaniami różniczkowymi liniowymi. Używając bezpośredniej transformacji Laplace'a, można przejść od równań różniczkowych do równań algebraicznych, rozwiązać je w postaci algebraicznej, a następnie użyć transformacji odwrotnej, aby uzyskać pożądany wynik. Podobny wynik osiąga się przy rozwiązywaniu równań różniczkowych liniowych za pomocą aparatu Z-transform.
Bezpośrednia transformata Laplace'a jest przeprowadzana zgodnie ze wzorem: gdzie jest zmienną złożoną, gdzie σ
- tłumienie.
Przykład: :
Reakcja systemu na funkcję delta wprowadzoną do wejścia jest wywoływana pulsujący charakterystyczne system.
Reakcja systemu na wejście funkcji skoku jednostki jest wywoływana odpowiedź przejściowa.
Pochodną czasową jakiejś funkcji jest mnożenie tej funkcji przez str:
A całka czasu funkcji jest dzieleniem tej funkcji przez str:
Zgodnie z tym wyrażenie: RCY " + Y = X(t) jest napisane jako: Rcpy + Y = X(str)
Rozwiązanie względne Y, otrzymujemy: Y (Rcp + 1)= X(str)
Współczynnik transferu tego równania wynosi:
Na płaszczyźnie zmiennej zespolonej jest to:
Tutaj Xp- Wykonano funkcję jednostki testowej. Jest to odpowiedź impulsowa w P-Regiony.
W liczniku nie ma zmiennych. Korzenie licznika są wywoływane zera funkcje transferu.
W punktach zerowym funkcji przenoszenia jest równa zeru, natomiast na bieguny funkcji przenoszenia dąży do nieskończoności.
Złożona częstotliwość w płaszczyźnie złożonej zmiennej jest najłatwiejszym sposobem sprawdzenia stabilności systemu. System nazywa się sprężysty, przy zerowym sygnale wejściowym sygnał wyjściowy tłumi się w dowolnych warunkach początkowych. System liniowy jest stabilny wtedy i tylko wtedy, gdy bieguny jego funkcji przenoszenia leżą w lewej, złożonej półpłaszczyźnie.
Transformacja Fouriera.
Transformacja Fouriera przypisuje do sygnału, podanego w czasie, jego funkcję widmową. W tym przypadku przejście z domena czasu w częstotliwość.
Transformacja Fouriera daje podstawę do charakterystyki częstotliwości i fazy (chcesz otrzymywać obwiedni widmowej). Transformacja Fouriera jest szczególnym przypadkiem transformacji Laplace'a σ = 0.
Na przykład:
Otrzymujemy charakterystykę częstotliwościową i fazową dla powyższego prostego łańcucha, który ma współczynnik przenikania:
Transformacja Fouriera różni się od transformaty Laplace'a tym, że ma: str = jωdlatego nasze wyrażenie przybrać będzie następującą formę:
Odpowiedź częstotliwościowa jest zależnością modułu współczynnika transmisji od częstotliwości.
Powielamy licznik i mianownik tej frakcji przez liczbę zespoloną (1- jωRC) (zakładając, że wartość ułamka się nie zmieni):
W związku z tym moduł współczynnika transmisji jest określany przez wyrażenie:
Na zero - moduł zysk jest jedność, a coraz częściej zaczyna spadać:
Dla dwóch wartości, PFC będzie wyglądać następująco:
Tak więc, aby przeanalizować dowolny system, konieczne jest zbudowanie wszystkich cech.
Dyskretna transformata Laplace'a.
Wszystko, co wcześniej uważano, dotyczyło funkcji ciągłych. Jeśli zamiast tego działa w trybie ciągłym t zastąpić kT i zamiast całki, która zastąpi sumę, będzie transformacja Laplace'a.
Transformacja Laplace'a jest używana w dziedzinie komputerowych systemów sterowania. Dyskretna transformata Laplace'a może być zastosowana do funkcji sieci.Funkcja sieci jest funkcją, której wartości są określane tylko w dyskretnych chwilach czasukTgdzie k jest liczbą całkowitą, i Tokres próbkowania.
Dyskretna transformata Laplace'a umożliwia rejestrację współczynnika transferu. WyróżniającyD -transformacja iZ -transformacja.
D – transformacja :
Z - konwersja:
Transformacja Z przekształca połowę płaszczyzny na inną płaszczyznę Z. Z-transform - jest to transformata Laplace'a funkcji kratowej, wytworzona przez zmianę zmiennych:
Mnożenie przez Z -1 jest przesunięciem o jeden okres próbkowania.
Weź oryginalne wyrażenie, od którego zaczęliśmy:
Od tego momentu procedura obliczeniowa przebiega następująco:
Zgodnie z właściwościami transformacji z, opóźnienie sekwencji dyskretnej o jeden cykl zegara odpowiada przemnożeniu jej z-transformacji przez z-1. Dlatego też elementy pamięci wykonujące takie opóźnienie są oznaczone na schemacie blokowym jako "z -1".
Wykorzystywana jest liczba poprzednich użytych próbek kolejność filtrów.
Liczba poprzednich próbek sygnału wejściowego jest przechowywana w komórkach pamięci, które tworzą dyskretną linię opóźniającą. Próbki te są mnożone przez współczynniki bk i sumowane w celu utworzenia próbki wyjściowej y (n).
Ponieważ obliczenia nie wykorzystują poprzednich próbek weekend sygnał w obwodzie nie ma sprzężeń zwrotnych. Dlatego takie filtry są wywoływane nierekurencyjny. Po wprowadzeniu pojedynczego impulsu na wejściu, przesunie się wzdłuż linii opóźnienia pomnożonej przez współczynnikib 0 , b 1 , b 2 ... i przejść do wyjścia urządzenia (w końcu wszystkie inne sygnały wejściowe sumatora są równe zero w tym samym czasie). Oczywiście w rzeczywistym urządzeniu linia opóźniająca zawiera skończoną liczbę elementów, dlatego też odpowiedź impulsowa filtra nierekurencyjnego jest również ostateczny według czasu trwania. Doprowadziło to do innej nazwy dla takich filtrów: filtry z skończona odpowiedź impulsowa (Filtry FIR).
Schemat blokowy oprogramowania dla filtra FIR:
Program:
ORDFIL EQU 40; filtr czterdziestego rzędu.
BUFOR M, ORDFIL; sprawdź możliwość utworzenia okrągłego bufora.
WSPÓŁCZYNNIKI: DS b 0, b 1, b 3
DSb4, b5, b6
…………………
DS b 37, _VVOD EQU Y: FFC 0; określ porty wejściowe.
PORT _VIVOD EQU Y: FFC 1; określ porty wyjściowe.
ORG P: 0; Organizacja pamięci P.
RESET: JMP START; bezwarunkowe przejście do etykiety START.
P: 100; program rozpocznie się od setnej komórki.
START: PRZENIEŚ BUF _X, R 0; Początkowy adres X jest wprowadzany do R 0.
MOVE # ORDFIL ─1, M 0; przejście do mod.arif. (Zap.chislo na 1men., Kolejność tego buf.)
MOVE # COEFFS, R 4; organizowanie bufora cyklu dla współczynników w pamięci Y.
MOVE # M 0, M 4; ponieważ długość musi być taka sama, potem perez. od M 0 do M 4.
CLRA; zresetuj baterię.
REP #ORDFIL; powtórz operację łańcucha.
PRZESUŃ A, X: (R 4) +; automatyczny inkrement i wszystkie komórki są buforowane.
PĘTLA: MOVEP Y: PORT _VVOD, X ─ (R 0); bajt Przeniesienie odczytów (last.multivn b 0).
REP #ORDFIL ─1; powtórz operacja łańcuchowa (39 razy bez zaokrąglania)
MAC X 0, Y 0, A X: (R 0) +, X 0Y: (R 4) +, Y 0; smart X 0 YY, res.v ak; prep.
MACRX0, Y0, A
MOVEP A, Y: PORT _VIVOD; bajt przesyła zawartość bateria.
JMP LOOP; Bezwarunkowy skok do znacznika LOOP.
Kolejność projektowania filtrów cyfrowych.
Procedura projektowania filtrów cyfrowych jest przede wszystkim związana z rodzajem filtra na linii charakterystyk częstotliwości. Jednym z problemów, który często pojawia się w praktyce, jest tworzenie filtrów, które przekazują sygnały w pewnym paśmie częstotliwości i opóźniają pozostałe częstotliwości. Istnieją cztery rodzaje:
1.) Filtry dolnoprzepustowe (LPF, angielskie określenie -filtr dolnoprzepustowy ), przekazując częstotliwości niższe niż pewna częstotliwość odcięciaω 0.
2.) Filtry górnoprzepustowe (HPF, angielski termin -filtr górnoprzepustowy ), przekazujące częstotliwości większe niż pewna częstotliwość odcięciaω 0.
3.) Filtry pasmowe (PF, angielski termin -filtr pasmowo-przepustowy ), częstotliwości transmisji w pewnym zakresieω 1…. ω 2 (mogą również charakteryzować się średnią częstotliwościąω 0 = (ω 1 + ω 2 ω = ω 2 – ω 1 ).
4.) Filtry Notch (inne możliwe nazwy to filtr blokujący, filtr, filtr zatrzymujący pasmo, angielski termin -filtr zatrzymujący zespół ) przepadają wszyscy częstotliwości, z wyjątkiem leżące w pewnym zakresie ω 1…. ω 2 (mogą również charakteryzować się średnią częstotliwościąω 0 = (ω 1 + ω 2 ) / 2 i szerokość pasma Δ ω = ω 2 – ω 1 ).
Idealna forma filtrów AFC tych czterech typów:
Jednak taki idealny (prostokątny) kształt pasma przenoszenia nie może być fizycznie zaimplementowany. Dlatego w teorii filtrów analogowych opracowano szereg metod przybliżeniaprostokątna odpowiedź częstotliwościowa.
Ponadto, obliczając filtr dolnoprzepustowy, można łatwo zmienić jego częstotliwość odcięcia, przekształcając go w filtr górnoprzepustowy, filtr pasmowo-przepustowy lub filtr wycinający o określonych parametrach. Dlatego obliczenie filtra analogowego rozpoczyna się od obliczenia tzw prototypowy filtrjest phnc z częstotliwością odcięcia 1 rad / s.
1.) Filtr Butterwortha:
Funkcja transferu prototypowego filtra Butterwortha (Filtr Butterwortha ) nie ma zer, a jego bieguny są równomiernie rozmieszczones-planes w lewej połowie okręgu o promieniu jednostkowym.W przypadku filtra Butterwortha częstotliwość odcięcia jest określana na poziomie 1 /. Zapewnia filtr Butterwortha tak płaskie, jak to możliwe wierzchołek w pasmie przepustowym. |
|
2.) Filtr Czebyszewa pierwszego rodzaju:
Funkcja transmisji filtra Czebyszewa pierwszego rodzaju (Czebijsze typu I filtrują ) również nie ma zer, a jego bieguny znajdują się w lewej połowie elipsys-planes. W przypadku pierwszego filtru Czebyszewa częstotliwość odcięcia jest określana przez poziom pulsacji w pasmie przepuszczania.W porównaniu z filtrem Butterwortha tego samego rzędu, filtr Czebyszewa zapewnia bardziej gwałtowny spadek odpowiedzi częstotliwościowej w przejściu od pasma przepuszczania do ogranicznika. |
|
3.) Filtr Czebyszewa drugiego rodzaju:
Funkcja transmisji filtra Czebyszewa drugiego rodzaju (Filtr Czebysheva typu II ), w przeciwieństwie do poprzednich przypadków, ma zarówno zera, jak i bieguny. Czebejsze filtry tego drugiego rodzaju są również nazywane odwrotnymi filtrami Czebyszewa (odwrotny filtr Czebyszewa ). Częstotliwość odcięcia drugiego filtra Czebyszewa nie jest uważana za koniec pasma, ale początek paska retencyjnego. Współczynnik transmisji filtra przy częstotliwości zerowej wynosi 1, przy częstotliwości odcięcia - do określonego poziomu tętnienia w ograniczniku. Kiedy ω → ∞ Współczynnik transferu wynosi zero dla nieparzystej kolejności filtrowania i poziomu tętnienia dla parzystości. Kiedy ω = 0 Odpowiedź filtra Czebyszewa drugiego rodzaju jest maksymalnie płaska. |
|
4.) Filtry eliptyczne:
Filtry eliptyczne (filtry Cower, terminy w języku angielskim -filtr eliptyczny, filtr Cauera ) w pewnym sensie łączą właściwości filtrów Czebyszewa pierwszego i drugiego rodzaju, ponieważ odpowiedź częstotliwościowa filtru eliptycznego ma impulsy o danej wartości, zarówno w pasmie przepuszczania, jak i w paśmie blokującym. Dzięki temu możliwe jest zapewnienie maksymalnej możliwej (z ustaloną kolejnością filtrowania) nachylenia nachylenia charakterystyki częstotliwościowej, tj. strefa przejściowa między przepustowością a opóźnieniem. Funkcja transmisji filtra eliptycznego ma zarówno bieguny, jak i zera. Zeros, podobnie jak w przypadku filtra Czebyszewa drugiego rodzaju, są czysto wyobrażeniowe i tworzą złożone pary sprzężone. Liczba zer funkcji przelewu jest równa maksymalnej liczbie parzystej nieprzekraczającej kolejności filtra. |
|
Funkcje MATLAB do obliczenia Butterwortha, Czebyszewa filtry pierwszego i drugiego rodzaju, a także filtry eliptyczne, pozwalają na obliczanie filtrów analogowych i dyskretnych. Funkcje obliczeniowe filtrów wymagają określenia parametrów kolejności filtra i jego częstotliwości odcięcia jako parametrów wejściowych.
Kolejność filtra zależy od:
- dopuszczalnej nierównomierności przepustowości
- w sprawie wielkości strefy niepewności. (Im mniejsza strefa niepewności, tym bardziej stromy spadek częstotliwości).
Dla Filtry FIR mają kolejność kilkudziesięciu lub kilkuset, a dla filtrów IIR kolejność nie przekracza kilku jednostek.
Ikony dają możliwość spojrzenia na wszystkie współczynniki. Projekt filtra jest wykonywany w jednym oknie.
Filtr o skończonej odpowiedzi impulsowej (filtr nierekursywny, filtr FIR, filtr FIR) jest jednym z typów liniowego filtru elektronicznego, którego charakterystyczną cechą jest czasowe ograniczenie odpowiedzi impulsowej (od pewnego czasu staje się dokładnie zerowe). Taki filtr jest również nazywany nierekurencyjnym ze względu na brak sprzężenia zwrotnego. Mianownik funkcji przenoszenia takiego filtra jest pewną stałą. Filtry nierekurencyjne. Dla zerowych wartości współczynników a, równanie (2.1.2) staje się liniowym dyskretnym równaniem splotowym dla funkcji x (k) z operatorem b n:
y (k) = b n x (k-n). (2.1.3)
Wartości wyjściowych próbek splotu (2.1.3) dla dowolnego argumentu k są określane przez bieżące i "przeszłe" wartości próbek wejściowych. Taki filtr jest nazywany nierekurencyjnym filtrem cyfrowym (NCF). Przedział sumowania dla n nazywamy "oknem" filtra. Okno filtru to liczba N + 1, filtr jest jednostronny, tzn. przyczynowo-prądowe i "przeszłe" wartości sygnału wejściowego, a sygnał wyjściowy nie może znajdować się przed wejściem. Filtr przyczynowy może być fizycznie realizowany w czasie rzeczywistym. Z k Podczas przetwarzania danych na komputerze, ograniczenie związku przyczynowego jest usuwane. W kolejności programowej filtra mogą występować zarówno wartości "przeszłe", jak i "przyszłe" sekwencji wejściowej próbek w stosunku do bieżącego punktu obliczeniowego k, natomiast równanie (2.1.3) będzie wyglądać następująco: y (k) = b n x (k-n). (2.1.4) Gdy N "= N, filtr jest nazywany dwustronnie symetrycznym, a filtry symetryczne, w przeciwieństwie do filtrów jednostronnych, nie zmieniają fazy przetwarzanego sygnału. Ponieważ reakcja NCF na pojedynczy impuls wejściowy (jak również na dowolny dowolny sygnał wejściowy) jest zawsze skończona i ograniczona wielkością okna filtra, takie filtry są również nazywane filtrami o skończonej odpowiedzi impulsowej (filtry FIR). Technika filtrowania nie różni się od techniki wykonywania zwykłego dyskretnego splotu dwóch macierzy danych. Zadanie: Naucz się podstaw obwodów o filtrach FIR. Dokonaj wstępnych obliczeń, odpowiedz na pytania do samodzielnego sprawdzenia na piśmie. Przeprowadzić wstępne obliczenia. Złożyć obwód 1, który zawiera impulsowe źródło napięcia, trzyelementowy filtr FIR. Zbuduj odpowiedź częstotliwościową czterogwiazdkowego filtru FIR. (Zmień formułę H (z)) Zbuduj odpowiedź częstotliwościową pięcioelementowego filtru FIR. (Zmień formułę H (z)) Aby porównać wykresy uzyskane w obliczeniach wstępnych z wykresami uzyskanymi w programie Micro-Cap. Podsumuj. Wstępna kalkulacja: Eksperyment: Zbierz obwód 1, który zawiera impulsowe źródło napięcia, trzyelementowy filtr FIR. Zbuduj odpowiedź częstotliwościową trzyelementowego filtru FIR. Zbuduj odpowiedź częstotliwościową czterogwiazdkowego filtru FIR. Zbuduj odpowiedź częstotliwościową trzyelementowego filtru FIR. Wniosek: W tym laboratorium uzyskano główną charakterystykę czasu i częstotliwości filtrów o skończonej odpowiedzi impulsowej (filtry FIR) za pomocą programu Micro-Cap. Dla obwodu 1, który zawiera impulsowe źródło napięcia, filtr FIR otrzymano dla odpowiedzi częstotliwościowej filtra, z inną liczbą ogniw. Krzywe uzyskane eksperymentalnie okazały się równe krzywiznom uzyskanym we wstępnych obliczeniach.