FDATool umożliwia szybkie projektowanie filtrów cyfrowych FIR lub IIR przez ustawienie właściwości filtra, import filtrów z MATLAB ® lub przez dodawanie, przenoszenie lub usuwanie biegunów i zer. FDATool dostarcza także narzędzi do analizy filtrów, takich jak wykresy odpowiedzi impulsowej i fazowej i biegun zera.
Można użyć FDATool jako wygodną alternatywę projektowania filtrów wobec wiersza poleceń.
1. Pierwsze kroki
2. Projektowanie filtru
3. Inne rodzaje analiz
4. Porównanie projektu w stosunku do specyfikacji
5. Zmiana jednostek na osi wykresu
6. Znakowanie punktów danych
7. Optymalizacja projektu
8. Korzystanie z odmiennej struktury filtra
9. Zmiana parametrów analizy
10. Ekspotrowanie filtra
11. Generowanie pliku Matlab(*.m)
12. Kwantyzacja współczynników(konwersja) Filtra
13. Zastosowanie
14. Dodatkowe funkcje
Ad. 1. Pierwsze kroki
Wpisz fdatool w wierszu poleceń MATLAB.Porada dnia(Tip of the Day) wyświetla okno dialogowe z sugestiami dotyczących korzystania z FDATool. Następnie wyświetlone zostanie GUI z domyślnym filtrem.
GUI ma trzy główne obszary:
-The Current Filter Information region()
-The Filter Display region()
-The Design panel()
Górna część GUI wyświetla informacje na temat specyfikacji i jego zachowanie w funkcji częstotliwości.
The Current Filter Information region w lewym górnym rogu wyświetla właściwości filtra(jego strukturę), wskazuje stabilność oraz liczbę sekcji. Zapewniony jest również dostęp do menadżera Filtrów w przypadku pracy z wielma filtrami.
The Filter Display region, w prawym górnym rogu, wyświetla zachowanie amplitudy w funkji częstotliwości filtra.
Dolna połowa GUI jest interaktywna część FDATool. The Design Panel, w dolnej połowie jest miejscem gdzie definiujemy preferencje filtra i kontrolujemy co jest wyświetlane w gurnej częsci GUI. Pola w tej części mogą się różnić w zależności od wybranych preferencji.
Narzędzie zawiera pomoc kontekstowa. Możesz kliknąć prawym przyciskiem myszy lub kliknąć przycisk "Co to jest?" (oznaczony jako kursor myszki ze znakiem zapytania, pierwszy z prawej strony),
aby uzyskać informacje na temat różnych części GUI.
Ad. 2. Projektowanie filtru
Dla przykładu zaprojektujemy filtr dolnoprzepustowy, przez które przejdą wszystkie częstotliwości mniejsze ok 20% częstotliwości Nyquista(połowa częstotliwości próbkowania) i tłumi większe bądź równe 50% częstotliwości Niquista. Użyjemy filtra FIR Equiripple z tymispecyfikacjami:
- Tłumieie 1dB w paśmie przenoszenia
- Tłumieie 80dB w paśmie tłumienia
- Częstotliwość pasma przepustowego 0,2 [znormalizowana 0 do 1]
- Częstotliwość pasma zaporowego 0,5 [znormalizowana 0 do 1]
1. Wybierz filtr dolnoprzepustowy(Lowpass) z menu rozwijanego w Response Type oraz Equiripple w FIR Design Method
2. Wybierz Specify order w Filter Order i wpisz wartość 30.
3. Opcia FIR Equiripple ma możliwość zmiany Density Factor, daje nam to kontrolę nad gęstością siatki częstotliwości. Zwiększenie tej wartości powoduje lepsze odzwierciedlenie zachowania filtru, jednak wydłuża czas obliczeń, wartość 20 jest wystarczająca.
4. Wybierz Normalized (0 to 1) w rozwijanym menu Unit(Frequency Specifications).
5. Wpisz 0,2 dla wpass i 0,5 dla wstop w Frequency Specifications.
6. Wpass i Wstop, w Magnitude Specifications zostaw te wartości na 1.
7. Po ustawieniu specyfikacji projektowych, kliknij przycisk Filter Analysis w dolnej części interfejsu graficznego. Wartości powinny być zgodne z wykresem powyżej.
Ad. 3. Inne rodzaje analiz
- Charakterystyka amplitudowa
- Charakterystyka fazowa
- Charakterystyka amplitudowo-fazowa
- Odpowiedź opóźnienie grupowe
- Opóźnienia fazowe
- Odpowiedzi impulsowej
- Odpowiedź skokowa
- Rozkład biegunów i zer
- Współczynniki filtrów
- Informacja o filtrze
Ad. 4. Porównanie projektu w stosunku do specyfikacji
FDATool pozwala zmierzyć, jak bardzo Twój projekt spełnia złożenia specyfikacji. W tym celu należy zmienić na osi y na Magnitude(patrz Ad. 5), następnie z menu -> View -> Specification Mask, powinniśmy uzyskać widok jak poniżej.
- Równań stanu(State-Space)
- Formy bezpośredniej filtra FIR
- Transponowanej formy bezposredniej filtra FIR
- Formy bezpośredniej symetrycznego filtra FIR
Ad. 5. Zmiana jednostek na osi wykresu
Można zmienić jednostki X lub osi Y, klikając prawym przyciskiem myszy na etykiecie osi i wybierając żądane jednostki.
Ad. 6. Znakowanie punktów danych
Na wykresie możemy kliknąć w dowolnym miejscu, aby dodać znacznik danych, który wyświetla wartośc w danym miejscu. Kliknięcie prawym przyciskiem myszy na znaczniku danych, wyświetla menu, w którym można przenieść, usunąć lub dostosować wygląd wskaźników danych.
Ad. 7. Optymalizacja projektu
Aby zmniejszyć komplikację filtra i jego koszt implementacji w strukturze fizycznej, można zmniejszyć liczbę współczynników za pomocą opcji Minimum Order w panelu projektu(Filter Order w dolnej połowie GUI).
Ad. 8. Korzystanie z odmiennej struktury filtra
Powyższy filtr to Direct-form FIR. Taka jego postać słóży do realizacji sprzętowej. Można użyć Convert Structurez EDIT w menu do zmiany jego struktury. Filtry mogą być przekształcone w następujących reprezentacji:- Równań stanu(State-Space)
- Formy bezpośredniej filtra FIR
- Transponowanej formy bezposredniej filtra FIR
- Formy bezpośredniej symetrycznego filtra FIR
Ad. 9. Zmiana parametrów analizy
Klikając prawym przyciskiem myszy na wykresie i wybierając Analysis Parameters, możemy wyświetlić okno dialogowe do zmiany parametrów analizy(można również wybrać Analysis Parameters, w menu Analysis).Ad. 10. Ekspotrowanie filtru
Matlab uożliwia wyeksportowanie filtru do następujących miejsc:
- MATLAB workspace
- MAT-file
- Text-file
Aby tego dokonać wybieramy z menu Plik, Export:
MATLAB umożliwia wybranie formy w jakiej zostaną zapisane rezultaty naszej pracy np. współczynniki(wykorzystywane w FPGA do filtracji).
Można użyć komend GET i SET z wiersza poleceń MATLAB, aby mieć dostęp, boądź zmieniać współczynniki filtra.
Ad. 11. Generowanie pliku Matlab(*.m)
FDATool pozwala generować kod MATLAB(pliki .m), aby ponownie utworzyć filtr. Dzięki temu można umieścić swój projekt w istniejącym kodzie lub zautomatyzować tworzenie swoich filtrów w skrypcie.
Wybierz z menu Plik Generate MATLAB code.
Poniższy kod został wygenerowany z filtra który zaprojektowaliśmy powyżej:
Wybierz z menu Plik Generate MATLAB code.
Poniższy kod został wygenerowany z filtra który zaprojektowaliśmy powyżej:
Ad. 12. Kwantyzacja współczynników(konwersja) Filtra
Jeśli jest zainstalowany DSP System Toolbox ™, ustawienia parametrów kwantyzacji współczynników filtra dostępne są na pasku bocznym.
Można użyć tego panelu do konwersji i analizy filtrów podwójnej precyzji. Z DSP System Toolbox można konwertować filtry zarówno z pojedyńczej do podwójnej precycji jak i w drugą stronę. Posiadacze Fixed Point Toolbox mogą też konwertować do fixed-point precision. Należy pamiętać, że nie można mieszać zmiennoprzecinkowych i stałoprzecinkowych operacji arytmetycznych w filtrze.
Ad. 13. Zastosowanie
FDATool umożliwia generowanie różnego rodzaju kodów reprezentujących filtr. Na przykład, można wygenerować pliki nagłówkowe w jzyku C, współczynniki Xilinx pliki (COE) (z DSP System Toolbox) i VHDL, Verilog oraz stanowisk badawczych (z filtrem projekt HDL Coder ™).
Ad. 14. Dodatkowe funkcje
FDATool jest integralną częścią produktów MathWorks ™
- DSP System Toolbox- dodaje zaawansowane techniki filtracji FIR i IIR(m. in. Filter Transformation, Multirate filters)
- Embedded Coder™- Generuje, buduje i wdraża kod dla procesorów Texas Instruments C6000.
- Filter Design HDL Coder- Generowanie współczynników do filtrów w VHDL i Verilog
- Simulink®- Generuje filtry do bloków simulinka.
Bardzo fajnie napisany artykuł. Jestem pod wrażeniem.
OdpowiedzUsuń