przesuniecie fazowe sygnałów
przesuniecie fazowe sygnałów
Witam
Przejrzałem podobne wątki, ale znalazłem odpowiedzi na moje pytanie.
A brzmi ono następująco:
Program mój ma za zadanie zbierać dane z dwóch kanałów - sygnały napięciowe, jeden sygnał ma dwa razy większą częstotliwość od drugiego.
Problem pojawia się wtedy, gdy próbuję przefiltrować te sygnały. Gdy filtruję jeden z sygnałów - sygnały są przesunięte w fazie o 180 stopni. Gdy włączę drugi filtr, przesunięcie między sygnałami wynosi 90 stopni.
Nie wiem w jaki sposób mogę wyeliminować te przesunięcia (chyba dlatego, że jestem bardzo początkującym użytkownikiem LabView).
Karta pomiarowa NI PCI - 6221 68-Pin
Dziękować za wszelkie wskazówki.
Przejrzałem podobne wątki, ale znalazłem odpowiedzi na moje pytanie.
A brzmi ono następująco:
Program mój ma za zadanie zbierać dane z dwóch kanałów - sygnały napięciowe, jeden sygnał ma dwa razy większą częstotliwość od drugiego.
Problem pojawia się wtedy, gdy próbuję przefiltrować te sygnały. Gdy filtruję jeden z sygnałów - sygnały są przesunięte w fazie o 180 stopni. Gdy włączę drugi filtr, przesunięcie między sygnałami wynosi 90 stopni.
Nie wiem w jaki sposób mogę wyeliminować te przesunięcia (chyba dlatego, że jestem bardzo początkującym użytkownikiem LabView).
Karta pomiarowa NI PCI - 6221 68-Pin
Dziękować za wszelkie wskazówki.
Ostatnio zmieniony 24 cze 2008 10:00 przez crawfish, łącznie zmieniany 1 raz.
- Koza
- Administrator
- Posty: 152
- Rejestracja: 20 gru 2006 00:00
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Olsztyn
Re: przesuniecie fazowe sygnałów
Witam,
W jaki sposób filtrujesz te sygnały? Filtr sprzętowy czy programowy? Jaki typ filtru?
Tym więcej uporządkowanej informacji tym większa szansa na otrzymanie pomocy.
Pozdrawiam,
Koza
W jaki sposób filtrujesz te sygnały? Filtr sprzętowy czy programowy? Jaki typ filtru?
Tym więcej uporządkowanej informacji tym większa szansa na otrzymanie pomocy.
Pozdrawiam,
Koza
Re: przesuniecie fazowe sygnałów
Filtry programowe w obydwu przypadkach. Sygnał o wyższej (~ 2kHz) częstotliwości filtr Bessela - bandpass. Jeśli konieczne jest użycie drugiego filtru (dla sygnału ~ 1kHz), to jest to filtr Butterwortha - bandpass.
Nie wiem jakie informacje jeszcze mogą się okazać przydatne, więc pytajcie :]
Dziękować za zainteresowanie
PZDR
Nie wiem jakie informacje jeszcze mogą się okazać przydatne, więc pytajcie :]
Dziękować za zainteresowanie
PZDR
Ostatnio zmieniony 24 cze 2008 14:17 przez crawfish, łącznie zmieniany 1 raz.
- Koza
- Administrator
- Posty: 152
- Rejestracja: 20 gru 2006 00:00
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Olsztyn
Re: przesuniecie fazowe sygnałów
A jakie mają charakterystyki fazowe? Na początek można pobawić się Express VI o nazwie Filter i sprawdzenie jak zachowują się sygnały w funkcji częstotliwości. Być może tutaj leży problem.
Pozdrawiam,
Koza
Pozdrawiam,
Koza
przesuniecie fazowe sygnałów
Sprawdziłem, ale z tego poziomu niewiele da się zrobić.
Wszystkie z filtrów wprowadzaja wyżej wspomniane przesunięcie.
Najlepiej to widać na załączonym obrazku (przesunięcie wykresu w osi
czasu). Najlepszym sposobem byłoby zmierzenie tego przesunięcia
i odjęcie tej wartości od sygnału odfiltrowanego, tylko jak to zrobić, jak?
PZDR
Wszystkie z filtrów wprowadzaja wyżej wspomniane przesunięcie.
Najlepiej to widać na załączonym obrazku (przesunięcie wykresu w osi
czasu). Najlepszym sposobem byłoby zmierzenie tego przesunięcia
i odjęcie tej wartości od sygnału odfiltrowanego, tylko jak to zrobić, jak?
PZDR
Ostatnio zmieniony 30 cze 2008 17:26 przez crawfish, łącznie zmieniany 4 razy.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: przesuniecie fazowe sygnałów
Każdy filtr cyfrowy (i nie tylko) wprowadza do sygnału opóźnienie zależne od swojego rzędu. Filtry IIR (a więc takie, którymi się bawisz teraz) mają dodatkowo nieliniowe charakterystyki fazowe, co dodatkowo utrudnia całą sprawę.
Najlepiej byłoby użyć filtrów typu FIR, dla których skorygowanie opóźnienia jest najprostsze. Problem z typ typem filtrów jest taki, że dla uzyskania stromych zboczy charakterystyk muszą być one dość dużych rzędów, a więc wymagają większych nakładów obliczeniowych i wprowadzają większe opóźnienie. Jeśli Twój problem jest taki, że te wady są akceptowalne, to idĹş właśnie w stronę filtrów typu FIR.
Najlepiej opisz dokładniej sygnały, które poddajesz filtracji i po co je filtrujesz, to spróbujemy coś wymyślić.
Pozdrawiam
Najlepiej byłoby użyć filtrów typu FIR, dla których skorygowanie opóźnienia jest najprostsze. Problem z typ typem filtrów jest taki, że dla uzyskania stromych zboczy charakterystyk muszą być one dość dużych rzędów, a więc wymagają większych nakładów obliczeniowych i wprowadzają większe opóźnienie. Jeśli Twój problem jest taki, że te wady są akceptowalne, to idĹş właśnie w stronę filtrów typu FIR.
Najlepiej opisz dokładniej sygnały, które poddajesz filtracji i po co je filtrujesz, to spróbujemy coś wymyślić.
Pozdrawiam
przesuniecie fazowe sygnałów
Pierwszy sygnał o częstotliwości ~1kHz i amplitudzie 1V. Sygnał ten nie wymaga filtrowania.
Drugi sygnał jest sygnałem z czujnika piezoelektrycznego, którym to mierzę zmiany pola magnetycznego. Jest to sygnał napięciowy o amplitudzie ~15 mV i f ~ 2kHz. Z tego sygnału muszę się pozbyć 50-60Hz. Kolejny problem z tym sygnałem jest taki, że muszę z niego odfiltrować częstotliwość pierwszego sygnału (1kHz), gdyż wprowadza on zakłócenie do tego sygnału, a tak być nie powinno. Na początku miałem problem (i chyba go się nie pozbyłem) z prawidłową konfiguracją karty. W miarę pozytywny wynik otrzymalem: AI "1" - differential AI"1" - RSE, ale nie wiem czy to najlepsze rozwiazanie. Budynek nie ma wspolnego uziemienia i tu prawdopodobnie przyczyna tkwi.
A teraz z FIR-ami popróbuję
Dzięki za zainteresowanie
PZDR
Drugi sygnał jest sygnałem z czujnika piezoelektrycznego, którym to mierzę zmiany pola magnetycznego. Jest to sygnał napięciowy o amplitudzie ~15 mV i f ~ 2kHz. Z tego sygnału muszę się pozbyć 50-60Hz. Kolejny problem z tym sygnałem jest taki, że muszę z niego odfiltrować częstotliwość pierwszego sygnału (1kHz), gdyż wprowadza on zakłócenie do tego sygnału, a tak być nie powinno. Na początku miałem problem (i chyba go się nie pozbyłem) z prawidłową konfiguracją karty. W miarę pozytywny wynik otrzymalem: AI "1" - differential AI"1" - RSE, ale nie wiem czy to najlepsze rozwiazanie. Budynek nie ma wspolnego uziemienia i tu prawdopodobnie przyczyna tkwi.
A teraz z FIR-ami popróbuję
Dzięki za zainteresowanie
PZDR
Ostatnio zmieniony 30 cze 2008 18:01 przez crawfish, łącznie zmieniany 1 raz.
przesuniecie fazowe sygnałów
W filtrach o skończonej odpowiedzi impulsowej możliwe jest wyrównanie faz
dla obydwu sygnałów, zmniejszając lub zwiększając Taps, ale nie wiem jak to wpływa na jakość filtrowanego sygnału, współczynnik ten bowiem ma wpływ na stromość zboczy, ale jakie są max. i min. wartości dla ilości tych współczynników? Jutro to sprawdzę na rzeczywistych sygnałach, na tych z symulatora trudno było różnicę zobaczyć.
PZDR
dla obydwu sygnałów, zmniejszając lub zwiększając Taps, ale nie wiem jak to wpływa na jakość filtrowanego sygnału, współczynnik ten bowiem ma wpływ na stromość zboczy, ale jakie są max. i min. wartości dla ilości tych współczynników? Jutro to sprawdzę na rzeczywistych sygnałach, na tych z symulatora trudno było różnicę zobaczyć.
PZDR

- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
przesuniecie fazowe sygnałów
Minimum to jeden współczynnik, przy którym filtr przestaje być filtrem, a staje się wzmacniaczem albo tłumikiem.
Maksimum teoretycznie nie ma.
Maksimum teoretycznie nie ma.
przesuniecie fazowe sygnałów
Użyłem filtru FIR do sygnałuo większej amplitudzie i mniejszej częstotliwości, do drugiego wykorzystałęm IIR ponieważ FIR-em nie udało sie odfiltrować nipotrzebnych częstotliwości. Udało się też (metodą wielokrotnego wyboru wsp. Taps) wyrównać fazy obydwu sygnałów. Jednak ta metoda jest uciążliwa gdy cząsto zmieniam częstotliwość mierzonego sygnału. Istnieje jakieś inne, bardziej przyjazne rozwiązanie? Coś w stulu: pomiar różnicy faz i dodanie tej rożnicy do jednego z sygnałów?
Pozdrawiam
Crawfish
Pozdrawiam
Crawfish
Ostatnio zmieniony 06 lip 2008 10:48 przez crawfish, łącznie zmieniany 3 razy.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: przesuniecie fazowe sygnałów
Najlepiej będzie jak dołączysz obrazek przedstawiający te sygnały.
Re: przesuniecie fazowe sygnałów
Nie mam w tej chwili dostepu do stanowiska, ale wygląda to mniej więcej tak, jak na dołączonych rysunkach. Sygnał 1kHz jest sinusoidą, a sygnal 2kHz jest do sinusoidy podobny, bardzo zblizony. Ale istota problemu myślę jest jasno przedstawiona.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: przesuniecie fazowe sygnałów
To właśnie "urok" filtrów IIR, a konkretnie ich nieliniowej charakterystyki fazowej. Gdyby obydwa były typu FIR, to przy odpowiednim ich zaprojektowaniu, nie miałbyś takich problemów.Udało się też (metodą wielokrotnego wyboru wsp. Taps) wyrównać fazy obydwu sygnałów. Jednak ta metoda jest uciążliwa gdy cząsto zmieniam częstotliwość mierzonego sygnału.
1. Może jednak FIR? Zamieść sygnał przed filtracją, opisz wymaganą specyfikację filtru, to spróbujemy jednak zrobić to na FIRze. To rozwiązanie chyba będzie najlepsze (o ile nie ma do niego przeciwwskazań).
2. Jeśli chcesz, to możesz mierzyć przesunięcie fazowe. W LV 8.5 możesz do tego wykorzystać np. klocki Basic Level Trigger Detection (w celu wykrycia momentów przejść przez zero), Waveform Peak Detection (analogicznie - do wykrycia szczytów/dołków sinusoid) albo Extract Single Tone Information ładnie mierzącego amplitudę, częstotliwość i fazę sygnału.
Możesz też np. zrobić tak. Dla dwóch fragmentów obydwu sygnałów (o takiej samej długości):
- Przemnóż fragmenty próbka po próbce,
- Oblicz moduł iloczynu,
- Zsumuj próbki modułu iloczynu,
Pozdrawiam
Ostatnio zmieniony 07 lip 2008 19:32 przez jogurt_owocowy, łącznie zmieniany 1 raz.
Re: przesuniecie fazowe sygnałów
Nie wiem czy uda się tak zaprojektować filtry FIR, żeby sygnał był okej, ale spróbować można. Sygnały powinny wyglądać tak jak na rysunku 1kHz_fir 2kHz_iir.jpg (sygnał 2kHz nie jest idealna sinusoidą). Nie widać tutaj przesunięć fazowych, dopiero po zapisaniu wyników i utworzeniu wykresu daje się to zauważyć.
Z proponowanych wcześniejszych rozwiązań nie da się zrealizować pomysłu z pomiarem fazy przy przecinaniu sygnałów punktu "0" na osi Y, gdyż sygnały te mają różne częstotliwości.
Pomysł ze sprawdzaniem peak& valley byłby lepszy, jednak nie bardzo wiem w jaki sposób to zrealizować (czyli sprawdzić kiedy w 1 i 2 sygnale pojawiają się dwa peak'i i jak skorygować tą różnicę, czyli dodać lub odjąć różnicę między nimi do jednego z sygnałów).
Dzięki za zaangażowanie jogurt_owocowy
Pozdrawiam
Z proponowanych wcześniejszych rozwiązań nie da się zrealizować pomysłu z pomiarem fazy przy przecinaniu sygnałów punktu "0" na osi Y, gdyż sygnały te mają różne częstotliwości.
Pomysł ze sprawdzaniem peak& valley byłby lepszy, jednak nie bardzo wiem w jaki sposób to zrealizować (czyli sprawdzić kiedy w 1 i 2 sygnale pojawiają się dwa peak'i i jak skorygować tą różnicę, czyli dodać lub odjąć różnicę między nimi do jednego z sygnałów).
Dzięki za zaangażowanie jogurt_owocowy

Pozdrawiam
Ostatnio zmieniony 10 lip 2008 11:59 przez crawfish, łącznie zmieniany 5 razy.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: przesuniecie fazowe sygnałów
Czy przejścia przez zero czy górki/dołki to dwie strony jednego medalu, a różne częstotliwości akurat tutaj nie przeszkadzają.Pomysł ze sprawdzaniem peak& valley byłby lepszy
Niech sygnał wolniejszy przecina zero (ma górki, ma dołki) w momentach: 0, 8, 16, 24, ...
a szybszy w
1, 4, 9, 13, 17, 21, 25, ...
Widać o ile są przesunięte? Widać.
Najlepiej
byłoby gdybyś zamieścił sygnały przed i po filtracji, opisał co chcesz uzyskać, pokazał w jaki sposób je filtrujesz, jakimi filtrami (najlepiej zamieszczając vi), bo inaczej się nie dogadamy.
Szybka rada na podstawie obrazków: przesuń w FIRze początek pasma przepustowego w dół to sygnał z rys. 1khz_fir 2khz_fir.jpg zacznie się upodabniać do tego z 1khz_fir 2khz_iir.jpg.