Saya ingin tahu cara menghilangkan kebisingan lingkungan dari rekaman pidato.
Saya telah membuat beberapa penelitian dan saya perhatikan bahwa sebagian besar metode yang diusulkan menggunakan transformasi Fourier cepat. Tetapi mengapa Anda tidak dapat menggunakan filter elektronik klasik untuk menghilangkan frekuensi kebisingan? Mengapa repot-repot melakukan FFT?
Jawaban:
Baik itu disimpan secara digital sekarang, bukan? jadi apakah Anda berencana untuk meletakkan mikrofon Anda di sebelah speaker setelah filter analog untuk merekam ulang?
Cukup main-main, aku akan serius.
Untuk membuat filter menipiskan lebih banyak dalam rentang frekuensi yang lebih kecil, alias membuat kurva respons frekuensi lebih vertikal, maka Anda hanya perlu meningkatkan urutan filter.
Itu adalah sesuatu yang cukup mudah dilakukan di Matlab. Itu juga sesuatu yang layak untuk dilakukan pasca-pemrosesan. Ini juga tentang pengulangan, jika Anda menerapkan filter pada hari yang cerah hari ini, maka Anda mengharapkannya berfungsi secara identik hingga besok saat hujan. Anda berharap itu bekerja persis sama, bukan?
Di sirkuit analog Anda memiliki semua "5% resistor", "1% kapasitor", dan semua hal lainnya. Jadi, jika Anda ingin membuat sesuatu yang tepat, Anda harus memotong sirkuit setelahnya sehingga cocok dengan filter yang Anda inginkan. Jika Anda ingin meningkatkan urutan filter ... maka sayangnya .. itu akan membuat filter jadi jauh lebih besar secara fisik. Alih-alih mengambil ukuran kartu kredit, itu akan mengambil ukuran, saya tidak tahu, tergantung pada urutan filter dan dengan apa Anda setuju.
Mengenai pengulangan, melakukan sesuatu hari ini .. hangat .. besok .. lebih dingin ... resistensi akan berubah sedikit, respons frekuensi akan berubah, beberapa Hz di sana, beberapa di sana, beberapa di sana, semakin banyak komponen yang Anda dapatkan di sirkuit Anda , ada kemungkinan besar komponen Anda akan mengubah nilainya. Dan kemudian Anda memiliki kelembaban, pengoksidasi ...
Dan inilah lucunya yang harus saya katakan pertama, Anda tidak bisa benar-benar pasca-proses itu, kecuali jika Anda punya kaset. Saya tidak 100% yakin apa media musik analog yang digunakan untuk merekam / menghapus dengan mudah. Cakram LP akan menjadi mimpi buruk ...
Dan jangan lupa harganya. Salah satunya adalah perangkat lunak, jika Anda menulis sendiri maka pada dasarnya gratis, yang lain memerlukan komponen, bagian fisik.
Tetapi jangan berpikir filter analog itu buruk, mereka dapat menggunakan mereka, seperti menghapus harmonik jahat di motor DC besar, atau membuat motor stepper ultra diam untuk printer 3D dengan memuluskan arus. Dan banyak kegunaan lain. - Juga jika Anda akan menyelesaikannya dengan filter analog, tidak ada yang akan berpikir itu akan menjadi solusi yang buruk.
Saya percaya saya secara tidak langsung menjawab mengapa FFT adalah cara yang lebih baik untuk melakukannya, setelah pengolahan. Intinya adalah bahwa itu jauh lebih murah untuk dilakukan. Anda juga bisa menerapkan filter takik jika Anda tahu frekuensi bisingnya. Atau filter bandstop alias lebih luas.
Dan hal terakhir yang ingin saya tambahkan ... woaw jawaban ini sangat panjang, saya minta maaf. Tetapi jika Anda menggunakan filter analog dan Anda ... mengacaukan perhitungan Anda dan kemudian berpikir itu semua baik-baik saja dan bagus dan menggunakannya dalam beberapa peristiwa serius, seperti mewawancarai raja Swedia (Knugen). Dan Anda mengacaukan ukuran kapasitor, alih-alih menyaring suara 16kHz, Anda menyaring "suara" 4kHz. Jika Anda sebaliknya menghadapinya secara digital maka itu hanya masalah mengubah beberapa variabel, Anda tidak perlu melakukan desolder -> menyolder komponen lain. Wawancara juga hancur.
sumber
Tetapi mengapa Anda tidak dapat menggunakan filter elektronik klasik untuk menghilangkan frekuensi kebisingan?
Siapa bilang kamu tidak bisa? Ini adalah bagaimana ini dilakukan pada hari-hari sebelum pemrosesan sinyal digital. Masalahnya adalah bahwa filtering noise selalu merupakan kompromi antara menjaga sinyal yang Anda inginkan (ucapan, musik) tidak tersentuh sementara menurunkan kebisingan.
Untuk kaset dan sistem rekaman kaset analog lainnya seperti DNL dan Dolby digunakan yang menyaring hanya ketika sinyal lemah berarti kebisingan lebih terdengar. Kemudian ketika sinyalnya lebih kuat, filternya akan pudar. Lihat: Artikel Wikipedia tentang Pengurangan Noise
Pidato dapat dibatasi pada pita frekuensi sempit seperti 300 Hz hingga 3 kHz sementara masih bisa dimengerti. Anda bisa membuat filter analog sederhana untuk band itu tetapi itu akan membatasi seberapa banyak noise ditekan. Untuk lebih efektif menyaring frekuensi di luar band ini akan memerlukan filter analog yang kompleks. Filter semacam itu sulit dirancang, dibuat, dan diproduksi.
Di sinilah pemrosesan sinyal digital masuk. Dalam domain digital, jauh lebih mudah untuk menerapkan filter kompleks dengan banyak kutub dan nol. Juga karena lokasi (dalam domain frekuensi) kutub dan nol ini dihubungkan dengan jam DSP (Digital Signal Processor), yang merupakan jam (kristal) yang akurat, filter akan jauh lebih akurat dibandingkan dengan implementasi analog. .
sumber
Nah, langkah pertama untuk memahami mengapa kita membutuhkan FFT adalah memahami cara kerja penyaringan digital.
Jadi pada dasarnya, Anda memiliki struktur, seperti register geser, dengan sejumlah elemen memori, input dan output. Nilai sampel masuk ke input, digeser melalui register dan bergerak ke output. Pada setiap tahap dalam register, itu dikalikan dengan angka yang disebut koefisien filter.
Gagasan ini berfungsi baik ketika Anda memiliki register cepat yang melakukan perkalian cepat dan Anda memiliki sampel yang datang perlahan satu per satu.
Dalam kehidupan nyata, alih-alih itu, Anda kemungkinan besar akan mendapatkan bingkai yang terdiri dari sejumlah sampel. Saat Anda ingin memfilter itu, Anda akan menggabungkan sampel dengan koefisien filter. Itu sama dengan melakukan pendekatan sebelumnya, tetapi hanya terlihat sedikit berbeda.
Sekarang sampai pada bagian FFT. Ternyata konvolusi tumbuh dalam kompleksitas numerik dengan sangat cepat dengan jumlah sampel. Di sisi lain, FFT pada awalnya secara numerik rumit, tetapi jumlah operasi yang dibutuhkan tumbuh jauh lebih lambat dengan peningkatan koefisien filter dibandingkan dengan konvolusi.
Apa yang dimaksud di atas adalah bahwa di atas sejumlah sampel tertentu, akan jauh lebih cepat untuk mengubah sinyal menjadi domain frekuensi menggunakan FFT, memfilter sinyal dalam domain frekuensi, dan kemudian mengubahnya kembali menggunakan IFFT. Trik yang kami gunakan adalah salah satu properti konvolusi, yaitu konvolusi dalam domain waktu dapat, dalam beberapa keadaan, dimodelkan sebagai perkalian dalam domain frekuensi.
Jadi singkatnya, jika jumlah koefisien filter yang Anda miliki cukup besar, FFT lebih cepat. "Besar" bisa sekecil seratus atau lebih.
sumber
Metode berbasis FFT (Anda masih harus bekerja dengan modifikasi windowing dan overlap-add atau overlap-shift) memiliki keunggulan utama bahwa desainnya solid dalam domain frekuensi, dan filter Wiener atau pengurangan spektral atau sejumlah sistem lain yang mengandalkan statistik sinyal dan model benar-benar berfungsi secara fundamental dalam domain frekuensi.
Sebaliknya, pembatalan gema dan berbagai varian tidak bergantung pada model kebisingan tetapi pada rekaman yang tidak sempurna yang sangat berkorelasi dengan kebisingan. Itu dilakukan dengan menggunakan berbagai filter (biasanya FIR) untuk mengurangi perkiraan kebisingan dari sinyal dan memperbarui filter untuk menjaga korelasi dari sinyal yang tersisa ke saluran noise minimal. Untuk teknik-teknik tersebut, FFT tidak terlalu berguna (ketika penundaan yang cukup besar dari sinyal yang dihasilkan dan pembaruan filter diperbolehkan, mereka dapat digunakan sebagai komponen dalam FIR blackbox dengan penundaan karena alasan kinerja tetapi tidak benar-benar berguna untuk mereka. kemampuan representasi domain frekuensi).
sumber
Filter analog cukup mudah untuk dirancang tetapi batasannya adalah Anda harus terus menambahkan elemen filter fisik untuk mencapai penyaringan band-stop dari frekuensi yang diberikan. Dan Anda perlu menyesuaikan nilai komponen jika Anda ingin memindahkan takik. Satu opamp dapat melakukan satu takik band-stop sehingga Anda perlu menambahkan penguat lain untuk setiap takik yang Anda inginkan. Untuk takik yang lebih selektif, Anda membutuhkan dua amplifier per takik.
Pada istilah praktis, Anda mungkin paling baik dilayani oleh filter low-pass urutan 3 yang dapat Anda lakukan dengan opamp tunggal atau mungkin filter low-pass urutan kelima yang membutuhkan dua. Gunakan low pass filter (s) untuk menipiskan frekuensi di atas frekuensi Nyquist (1/2 frekuensi sampling) dengan beberapa margin dan Anda akan memiliki sampel digital berkualitas tinggi untuk diproses. Dengan rekaman bersih seperti itu, Anda kemudian dapat menerapkan filter FFT untuk membuat filter high-pass, band-pass dan band-stop sesuai kebutuhan.
sumber
Pemfilteran invarian waktu linier yang dilakukan oleh "filter elektronik klasik" hanyalah perkalian "bodoh" dalam domain Fourier. Tetapi informasi yang Anda temukan dalam FFT memberi tahu Anda detail lebih dari sekadar respons satu filter, yang hanya merupakan kombinasi linear dari komponen-komponen itu. Dengan menggunakan informasi itu, Anda dapat mengarahkan pemrosesan data dan membuatnya disesuaikan dengan data. Noise memiliki beberapa karakteristik yang tidak memiliki vokal dan nada musik yang jelas, misalnya koreksi antara nada yang hampir tidak sama untuk kebisingan seperti suara atau musik.
Jadi jika kita dapat mengidentifikasi korelasi antara komponen frekuensi - yaitu menemukan "nada dasar" entah bagaimana kita dapat mengarahkan pemfilteran dan membuatnya lebih disesuaikan dengan data.
sumber