wtorek, 15 kwietnia 2014

Wprowadzenie do projektowania filtrów i Analysis Tool (FDATool)

      Konstrukcja filtra i Analysis Tool (FDATool) jest potężnym graficzny interfejs użytkownika (GUI) w Signal Processing Toolbox ™ do projektowania i analizy filtrów.
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.
https://drive.google.com/file/d/0B-LjooBGYreoNU5GMGlhdmdxVk0/edit?usp=sharing


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 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




W kolejności od lewej do prawej, przyciski są
     - 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.


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:



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.

1 komentarz: