Chciałbym wiedzieć, jak usunąć hałas otoczenia z nagrania mowy.
Przeprowadziłem badania i zauważyłem, że większość proponowanych metod wykorzystuje szybką transformację Fouriera. Ale dlaczego nie można użyć klasycznego filtra elektronicznego do usunięcia częstotliwości szumów? Po co zawracać sobie głowę robieniem FFT?
Odpowiedzi:
Teraz jest przechowywany cyfrowo, prawda? więc planujesz umieścić mikrofon obok głośnika za filtrem analogowym, aby go ponownie nagrać?
Dość bałaganu, będę poważny.
Aby filtr osłabiał się bardziej w mniejszym zakresie częstotliwości, czyli zwiększając pionową krzywą odpowiedzi częstotliwościowej, wystarczy zwiększyć kolejność filtra.
Jest to dość łatwe do zrobienia w Matlabie. Jest to również wykonalne przetwarzanie końcowe. Chodzi również o powtarzalność, jeśli zastosujesz dzisiaj filtr w słoneczny dzień, oczekujesz, że zadziała identycznie jak jutro, gdy pada deszcz. Oczekujesz, że zadziała dokładnie tak samo, prawda?
W obwodach analogowych masz wszystkie te „rezystor 5%”, „kondensator 1%” i wszystkie inne rzeczy. Więc jeśli chcesz zrobić coś dokładnego , na pewno będziesz musiał później przyciąć obwód, aby idealnie pasował do pożądanego filtra. Jeśli chcesz zwiększyć kolejność filtra ... to niestety ... to sprawi, że filtr będzie znacznie większy fizycznie. Zamiast zajmować rozmiar karty kredytowej, zajmie ona rozmiar, nie wiem, zależy od kolejności filtrów i tego, z czym jesteś w porządku.
Jeśli chodzi o powtarzalność, robienie czegoś dzisiaj… ciepło… jutro… zimniej… rezystancje będą się nieznacznie zmieniać, zmieni się pasmo przenoszenia, kilka Hz tam, trochę tam, im więcej elementów masz w swoich obwodach , istnieje większe prawdopodobieństwo, że komponenty zmienią swoje wartości. A potem masz wilgoć, utleniającą ...
A oto pierwsza kwestia, którą powinienem powiedzieć najpierw, nie można tak naprawdę post-processować, chyba że masz kasety magnetofonowe. Nie jestem w 100% pewien, jakiego analogowego nośnika muzycznego używa się do łatwego nagrywania / usuwania. Płyty LP byłyby koszmarem ...
I nie zapominajmy o cenie. Jednym z nich jest oprogramowanie, jeśli napiszesz je samodzielnie, to zasadniczo jest za darmo, drugie wymaga komponentów, części fizycznych.
Ale nie sądzę, że filtry analogowe są złe, mają swoje zastosowania, takie jak usuwanie nieprzyjemnych harmonicznych w dużych silnikach prądu stałego lub tworzenie ultra cichych silników krokowych do drukarek 3D poprzez wygładzenie prądu. I mnóstwo innych zastosowań. - Również jeśli rozwiązałbyś go za pomocą filtra analogowego, nikt nie pomyślałby, że byłoby to złe rozwiązanie.
Wydaje mi się, że pośrednio odpowiadam, dlaczego FFT jest lepszym sposobem, aby to zrobić, jeśli chodzi o przetwarzanie końcowe. Najważniejsze jest to, że jest to o wiele tańsze. Możesz także zastosować filtr wycinający, jeśli wiesz, na jakiej częstotliwości występuje hałas. Lub szerszy, znany również jako filtr passtopowy.
I ostatnia rzecz, którą chcę dodać ... łał, ta odpowiedź jest tak długa, przepraszam. Ale jeśli użyjesz filtra analogowego i ... zepsujesz swoje obliczenia, a potem pomyślisz, że wszystko jest w porządku i eleganckie i użyjesz go w poważnym wydarzeniu, takim jak wywiad z królem Szwecji (Knugen). I pomyliłeś się z wielkością kondensatora, zamiast filtrować szum 16 kHz, odfiltrowujesz „szum” 4 kHz. Jeśli zamiast tego poradzisz sobie z tym cyfrowo, to tylko kwestia zmiany niektórych zmiennych, nie musisz rozlutowywać -> lutować inny komponent. Również wywiad jest zrujnowany.
źródło
Ale dlaczego nie można użyć klasycznego filtra elektronicznego do usunięcia częstotliwości szumów?
Kto powiedział, że nie możesz? Tak właśnie zrobiono w dniach poprzedzających cyfrowe przetwarzanie sygnału. Problem polega na tym, że filtrowanie szumów jest zawsze kompromisem między utrzymywaniem pożądanego sygnału (mowy, muzyki) nietkniętym przy jednoczesnym obniżaniu hałasu.
W przypadku kaset magnetofonowych i innych analogowych systemów nagrywania taśm zastosowano systemy takie jak DNL i Dolby, które filtrują tylko wtedy, gdy sygnał jest słaby, co oznacza, że szum jest bardziej słyszalny. Następnie, gdy sygnał jest silniejszy, filtr zanika. Widzieć: artykuł w Wikipedii na temat redukcji hałasu
Mowa może być ograniczona do wąskiego pasma częstotliwości, takiego jak 300 Hz do 3 kHz, a jednocześnie jest doskonale zrozumiała. Możesz stworzyć prosty filtr analogowy dla tego pasma, ale to ograniczyłoby tłumienie hałasu. Aby skuteczniej odfiltrować częstotliwości poza tym pasmem, potrzebny byłby złożony filtr analogowy. Takie filtry są trudne do zaprojektowania, zbudowania i wyprodukowania.
W tym miejscu pojawia się cyfrowe przetwarzanie sygnału. W domenie cyfrowej znacznie łatwiej jest zaimplementować złożone filtry z wieloma biegunami i zerami. Ponieważ lokalizacja (w dziedzinie częstotliwości) tych biegunów i zer jest powiązana z zegarem DSP (Digital Signal Processor), który jest dokładnym zegarem (krystalicznym), filtr będzie znacznie dokładniejszy w porównaniu do implementacji analogowej .
źródło
Pierwszym krokiem do zrozumienia, dlaczego potrzebujemy FFT, jest zrozumienie, jak działa filtrowanie cyfrowe.
Zasadniczo masz strukturę, taką jak rejestr przesuwny, z wieloma elementami pamięci, wejściem i wyjściem. Przykładowa wartość trafia na wejście, zostaje przesunięta przez rejestr i przechodzi na wyjście. Na każdym etapie rejestru jest on mnożony przez liczbę zwaną współczynnikiem filtru.
Ten pomysł działa OK, gdy masz szybki rejestr wykonujący szybkie multiplikacje i próbki przychodzą powoli jedna po drugiej.
W rzeczywistości zamiast tego najprawdopodobniej otrzymasz ramkę składającą się z wielu próbek. Kiedy chcesz to przefiltrować, splot próbki ze współczynnikami filtra. To tak samo, jak w poprzednim podejściu, ale wygląda nieco inaczej.
Teraz pojawia się część FFT. Okazuje się, że splot rośnie w złożoności numerycznej bardzo szybko wraz z liczbą próbek. Z drugiej strony FFT jest na początku skomplikowane numerycznie, ale liczba potrzebnych operacji rośnie znacznie wolniej wraz ze wzrostem współczynników filtra w porównaniu do splotu.
Oznacza to, że powyżej pewnej liczby próbek konwersja sygnału do dziedziny częstotliwości za pomocą FFT będzie znacznie szybsza, filtrowanie sygnału w dziedzinie częstotliwości, a następnie konwersja z powrotem za pomocą IFFT. Trik, którego używamy, jest jedną z właściwości splotu, a mianowicie, że splot w dziedzinie czasu może, w niektórych okolicznościach, być modelowany jako zwielokrotnienie w dziedzinie częstotliwości.
Podsumowując, jeśli liczba posiadanych współczynników filtra jest wystarczająco duża, FFT jest szybszy. „Duży” może być tak mały jak sto.
źródło
Metody oparte na FFT (nadal będziesz musiał pracować z okienkowaniem i modyfikacjami nakładania-dodawania lub nakładania-przesunięcia) mają tę główną zaletę, że projekt jest solidnie w dziedzinie częstotliwości, a filtr Wienera lub odejmowanie widmowe lub szereg inne systemy opierające się na statystykach sygnałów i modelu naprawdę działają zasadniczo w dziedzinie częstotliwości.
Natomiast eliminacja echa i różne warianty nie polegają na modelu szumu, ale na niedoskonałym nagraniu silnie skorelowanym z hałasem. Dokonuje się tego przy użyciu różnych filtrów (zwykle FIR), aby odjąć oszacowanie szumu od sygnału i zaktualizować filtry w celu utrzymania minimalnej korelacji pozostałego sygnału z kanałem szumu. W przypadku tych technik FFT nie jest aż tak użyteczne (gdy dopuszczalne są znaczne opóźnienia wynikowego sygnału i aktualizacji filtrów, można je stosować jako element w FIR blackbox z opóźnieniem ze względu na wydajność, ale nie są tak naprawdę przydatne możliwość reprezentacji w dziedzinie częstotliwości).
źródło
Filtry analogowe są dość łatwe do zaprojektowania, ale ograniczeniem jest to, że musisz ciągle dodawać fizyczne elementy filtrujące, aby osiągnąć filtrowanie pasmowe dla określonych częstotliwości. I musisz dostosować wartości składników, jeśli chcesz przesuwać wycięcia. Pojedynczy opamp może wykonać jedno wycięcie pasma, więc musisz dodać kolejny wzmacniacz dla każdego wycięcia, którego potrzebujesz. Aby uzyskać bardziej selektywne wycięcie, potrzebujesz dwóch wzmacniaczy na wycięcie.
Z praktycznego punktu widzenia najlepiej byłoby, gdyby najlepiej zastosować filtr dolnoprzepustowy trzeciego rzędu, który można zrobić z pojedynczym wzmacniaczem optycznym lub filtr dolnoprzepustowy piątego rzędu, który wymaga dwóch. Użyj filtrów dolnoprzepustowych, aby tłumić częstotliwości powyżej częstotliwości Nyquista (1/2 częstotliwości próbkowania) z pewnym marginesem, a otrzymasz wysokiej jakości próbkę cyfrową do przetworzenia. Dzięki takiemu czystemu nagraniu możesz następnie zastosować filtry FFT, aby w razie potrzeby utworzyć filtry górnoprzepustowe, pasmowoprzepustowe i pasmowoprzepustowe.
źródło
Filtrowanie niezmiennicze w czasie liniowym, które wykonuje „klasyczny filtr elektroniczny”, jest po prostu „głupim” zwielokrotnieniem w dziedzinie Fouriera. Ale informacje, które znajdziesz w FFT, zawierają więcej szczegółów niż tylko odpowiedź jednego filtra, który jest po prostu liniową kombinacją tych składników. Korzystając z tych informacji, możesz sterować przetwarzaniem danych i dostosować je do danych. Hałas ma pewne cechy, których nie mają wyraźne wokale i tony muzyczne, na przykład korelacja między podtekstami nie jest prawie taka sama dla szumu jak dla głosu lub muzyki.
Jeśli więc potrafimy zidentyfikować korelacje między składnikami częstotliwości - tj. Znajdując „ton ziemi”, możemy w jakiś sposób sterować filtrowaniem i dostosować go do danych.
źródło