Jadi jika Anda menghasilkan gelombang persegi dengan hanya mengganti sinyal di antara dua nilai, pada batas sampel, ia menghasilkan serangkaian harmonik tanpa batas, yang alias dan menghasilkan nada di bawah fundamental Anda, yang sangat terdengar. Solusinya adalah Band-Limited Synthesis , baik menggunakan sintesis aditif atau langkah-langkah band-terbatas untuk menghasilkan bentuk gelombang yang sama seperti jika Anda memiliki band-terbatas gelombang persegi matematika ideal sebelum sampel itu:
Tetapi saya baru menyadari bahwa jika Anda menerapkan amplifikasi besar ke gelombang sinus digital dan kemudian menjepitnya secara digital, itu akan menghasilkan bentuk gelombang persegi yang sama, tanpa riak fenomena Gibbs. Jadi itu juga menghasilkan produk distorsi alias, kan? Jadi setiap distorsi non-linear dalam domain digital yang menghasilkan harmonik di luar batas Nyquist akan menghasilkan produk distorsi alias? (Sunting: Saya sudah melakukan beberapa tes dan mengonfirmasi bahwa bagian ini benar.)
Adakah distorsi terbatas pada pita, untuk mensimulasikan (dalam domain digital) efek distorsi (dalam domain analog) sebelum pembatasan pita dan pengambilan sampel? Jika demikian, bagaimana Anda melakukannya? Jika saya mencari "distorsi terbatas band", saya menemukan beberapa referensi ke polinomial Chebyshev, tetapi saya tidak tahu bagaimana menggunakannya atau apakah itu hanya berfungsi untuk gelombang sinus atau apa:
Instrumen ini tidak berusaha untuk menghasilkan distorsi terbatas-band. Mereka yang tertarik dengan distorsi terbatas-band harus menyelidiki penggunaan polinomial Chebyshev untuk menghasilkan efek. Distorsi Tangen Hiperbolik
"Chebyshev polynomial" - membentuk fungsi-fungsi dengan properti penting yang secara intrinsik terbatas-band yaitu tidak memperkenalkan harmonik spektral palsu karena tumpang tindih dll. Wave Shaper
sumber
Jawaban:
Menerapkan fungsi non-linear akan selalu memperkenalkan harmonik, dan mencampur fungsi non-linear dengan versi sampel sinyal kontinu akan menambah kerutan yang Anda catat di atas (di mana harmonik frekuensi tinggi alias frekuensi rendah.)
Saya dapat memikirkan beberapa cara untuk melanjutkan:
Anda dapat menggabungkan (1) dan (2). Pendekatan ketiga kompleks, tetapi memberi Anda kontrol terbaik atas berapa banyak distorsi yang harus diakui, dan mungkin akan meningkatkan skala persyaratan kesetiaan yang lebih tinggi.
(Dengan sedikit pemikiran, Anda mungkin juga dapat menggunakan formulir ini secara langsung untuk memperkirakan non-linearitas yang difilter. Itu akan membutuhkan representasi seri yang baik untuk clipper.)
sumber
Beberapa pendekatan untuk distorsi nonlinear alias bebas (dengan meningkatnya tingkat kesulitan):
Desain aljabar berbasis kendala : Pada item sebelumnya, Anda telah melihat bahwa distorsi nonlinier antialiasing mengarah ke filter nonlinier. Tentu saja, tidak semua filter nonlinier alias gratis, tetapi beberapa mungkin. Jadi pertanyaan yang jelas adalah agar kriteria membuat filter sedemikian ketat alias gratis dan bagaimana mendesainnya. Ternyata, pernyataan yang setara untuk bebas dari aliasing adalah, bahwa filter non-linear berubah dengan terjemahan sub-sampel. Jadi, Anda harus memastikan bahwa itu tidak membuat perbedaan jika Anda menerjemahkan terlebih dahulu lalu menyaring, atau memfilter terlebih dahulu lalu menerjemahkan. Kondisi ini menyebabkan kendala desain yang sangat ketatuntuk filter nonlinear, tetapi tergantung pada bagaimana Anda mewujudkan terjemahan sinyal. Misalnya, terjemahan yang ideal akan membutuhkan banyak koefisien untuk filter nonlinier. Jadi, Anda harus mendekati terjemahan sinyal ke urutan hingga untuk mendapatkan filter nonlinear hingga. Skala Alias-freeness dengan perkiraan yang Anda gunakan, tetapi Anda memiliki kontrol yang sangat baik untuk itu. Setelah Anda mengerjakan matematika dari pendekatan ini, Anda dapat mendesain fungsi transfer nonlinier (tidak hanya mulus) sebagai model digital yang hampir ideal dalam bentuk filter nonlinear. Saya tidak mungkin membuat sketsa detailnya di sini, tetapi mungkin Anda dapat menemukan beberapa inspirasi dari deskripsi ini.
sumber
Polinomial itu sendiri dapat dengan mudah dihasilkan dengan menggunakan relasi perulangan berikut :
Inilah beberapa yang pertama:
Dengan menghitung Seri Chebyshev
sumber
@ robert-bristow-johnson menjelaskan ini dengan sangat jelas di comp.dsp :
Dengan kata lain, jika nonlinieritas Anda adalah polinomial, frekuensi tertinggi yang dapat dihasilkan oleh distorsi adalah frekuensi tertinggi dalam sinyal Anda dikalikan urutan N polinomial. (Non-linear polinomial adalah mengalikan sinyal dengan sendirinya N kali, sehingga spektrumnya akan berbelit-belit dengan dirinya sendiri dan menyebar dengan rasio yang sama.)
Jadi Anda tahu frekuensi maksimum (apakah Nyquist atau batas bawah untuk aplikasi Anda), dan Anda tahu urutan polinomialnya, sehingga Anda dapat cukup banyak untuk mencegah alias, melakukan distorsi, dan kemudian low-pass filter dan downsample.
Bahkan, Anda dapat mengurangi laju oversampling dengan membiarkan beberapa aliasing terjadi, asalkan itu terkandung dalam band yang akan dihapus sebelum downsampling:
sumber