Bagaimana cara menggunakan kode FFT ini dengan variabel ukuran gelombang sinus dan bilangan bulat, bukan celana pendek?

http://www.koders.com/java/fid168F68D8D019CF9A4F17CA8AFEE102F8BE3B2C28.aspx?s=FFT#L21

Pertanyaan 2 bagian, sungguh. Pemahaman saya tentang FFT cukup umum.

1) Kodenya tampaknya cukup mudah. Tetapi solusi yang saya cari memerlukan ukuran array data variabel (masih pangkat 2). Jadi bagaimana cara mengubah gelombang sinus yang digunakan di sini? Saya melihat ini adalah sinewave ukuran 1024 statis yang didefinisikan dengan jelas. Bagaimana saya bisa menggunakan ukuran dinamis dari array data nyata untuk menghasilkan sinewave yang tepat?

2) Selain itu, solusi yang saya cari memerlukan penggunaan int, bukan celana pendek seperti contoh yang ditautkan. Seperti pada array data masukan akan berupa array int. Modifikasi apa pada kode ini yang diperlukan?

Terima kasih sebelumnya atas semua bantuan Anda.


person Mountain Man    schedule 12.07.2012    source sumber


Jawaban (1)


  1. Jika Anda memerlukan array ukuran variabel, cukup gunakan ArrayList untuk memasukkan nilai Anda. Kode harus mudah disesuaikan untuk mengakomodasi hal ini.

  2. Untuk mengubah dari short ke int, cukup ubah semuanya menjadi int. Short hanyalah bilangan bulat 2 byte, bukan int yang 4 byte.

person Rob Wagner    schedule 12.07.2012