Mam kartę akwizycji danych (A / D + cyfrowy procesor sygnałowy) i chcę sprawdzić, czy cyfrowy filtr górnoprzepustowy (zaimplementowany w DSP) przy wyjątkowo niskiej częstotliwości odcięcia (0,05 Hz) faktycznie działa.
Gdyby to była częstotliwość, którą mógłbym wygenerować za pomocą generatora sygnału, łatwo byłoby to sprawdzić, ale 0,05 Hz jest zbyt niska i nie mogę jej wygenerować. Jak inżynierowie sprawdzają tego rodzaju filtry?
digital-filter
doubleE
źródło
źródło
Odpowiedzi:
Myślę, że zależy to od kilku czynników, między innymi kolejności filtra, ale masz kilka możliwości:
Używamy wariantu alternatywnego 3 w niektórych naszych testowych konfiguracjach, nie dlatego, że nie jesteśmy w stanie wygenerować wymaganych wolnych przebiegów, ale dlatego, że odcięcie <0,01 Hz naszych filtrów analogowych zajęłoby zbyt dużo czasu, aby je scharakteryzować, gdybyśmy spróbowali nawet szorstkiego przemiatania częstotliwości . Skróciło to czas testowania z ponad godziny do zaledwie kilku minut.
źródło
Chciałbym użyć mojego generatora funkcji Agilent, który spada do 1 Hz, dość nietypowego (i przestarzałego) modelu 33522A. Myślę, że mój Rigol DG4102 ma również rozdzielczość 1 Hz i kosztuje mniej.μ μ
Niestety, nie można uzyskać tak niskiego poziomu przy tanich modułach DDS (np. AD9850), ponieważ słowo strojenia ma tylko 32 bity, a zegar jest zwykle 125 MHz, więc to rozdzielczość 0,03 Hz. Przypuszczam, że dałoby to kilka punktów danych (0,0291 / 0,0582 / 0,0873 Hz)
Możesz również nakarmić go krokiem i spojrzeć na odpowiedź w dziedzinie czasu.
źródło
Opcja 1: Test na komputerze.
Jeśli Twój kod DSP jest napisany w C, możesz skonfigurować wiązkę testową w GCC lub Visual Studio. Znasz częstotliwość próbkowania kodu DSP, więc skorzystaj z programu Excel, aby wygenerować testowy plik CSV, a uprząż testowa zrzuci plik wyjściowy pliku CSV, który możesz sprawdzić.
Opcja 2: Test na DSP z interfejsem PC.
Jeśli Twój kod DSP musi działać na DSP, nadal możesz go użyć do przetestowania komputera. Skonfiguruj wiązkę testową na DSP, która odbiera wartość z komputera, uruchamia jeden krok filtra DSP, a następnie zgłasza wyjście filtra dla tego kroku z powrotem do komputera (przy użyciu USB, RS-232 lub TCP / IP w zależności od jak łączysz się z DSP). Będziesz także potrzebował wiązki testowej po stronie komputera, aby wysyłać i odbierać te wartości. Ponownie możesz skonfigurować plik wejściowy testowy CSV na komputerze, przekazywać kolejne próbki do kodu filtru i zrzucić dane wyjściowe pliku CSV, które możesz sprawdzić.
Dla obu...
Jeśli filtrujesz przy częstotliwości 0,05 Hz, istnieje prawdopodobieństwo, że częstotliwość próbkowania również będzie dość niska. Użycie uprzęży testowej pozwoli Ci przeprowadzić te testy szybciej niż w czasie rzeczywistym, co zwiększy wydajność procesu testowania.
źródło
Jeśli masz również przetwornik cyfrowo-analogowy w systemie DSP, możesz wygenerować ten wyjątkowo niski sygnał częstotliwości w oprogramowaniu i przesłać go z powrotem do wejścia A / D. Alternatywnie możesz użyć karty D / A lub adaptera USB do wygenerowania sygnału. Jednym z przykładów takich urządzeń byłby LabJack, ale istnieje wiele innych o różnych cenach / możliwościach. Inną możliwością byłoby użycie taniego mikrokontrolera + przetwornika cyfrowo-analogowego, takiego jak Raspberry Pi lub Arduino
źródło
Istnieją trzy dobre sposoby sprawdzania odpowiedzi filtra, jeden to funkcja delta diraca (funkcja impulsu lub krótki impuls), drugi to wejście krokowe, a ostatni to przemiatanie częstotliwości.
Dzięki instrumentom, z których korzystam, eksperymenty mogą trwać od tygodni do miesięcy, niektóre z naszych układów fizycznych reagują w zakresie dni. Najlepszym sposobem sprawdzenia tych systemów \ filtrów jest użycie danych wejściowych kroku, a następnie zmierzenie stałej czasowej. Jeśli pamiętasz, stała czasowa dla napięcia wejściowego wynosi:
Gdzieτ=RC
Źródło: http://mit6002.blogspot.com/2011/05/1011-parallel-rc-circuit-step-input.html
(pic ma źródło prądu z rezystorem równoległym, który jest równoważny źródłu napięcia z rezystorem szeregowym)
źródło
Prawdopodobnie można ręcznie wygenerować akceptowalnie gładki sygnał 50 MHz za pomocą potencjometru i zegarka na rękę.
Możesz też obliczyć oczekiwaną odpowiedź krokową swojego filtra. Podaj swój sprzęt krok po kroku , przesuwając przełącznik. Wydrukuj wynik w ciągu około minuty (jeśli twoja baza czasowa oscyloskopu nie pójdzie tak wolno, nagrywaj multimetr i transkrybuj odczyty co sekundę). Porównaj zmierzoną odpowiedź krokową z przewidywaną. Jeśli pasują do siebie (wystarczająco dokładnie, z uwzględnieniem niedokładności ADC / DAC / taktowania), Twój filtr działa zgodnie z przeznaczeniem.
źródło