let compute fun_list = 
        let () = print_endline("Computing output signals..."in
        
        (* arrange input information *)
        let length = interpreter_macro_to_value Number_samples_int in
        let width = List.length fun_list in
        let beam_fun = fun_array_to_fun (Array.of_list fun_list) in

        (* calculate output wave *)
        let tmp_float_array_array_array = computing beam_fun width length in

        (* arrange output data *)
        let output_float_array_array_array = matrix_transpose tmp_float_array_array_array width in
        let channel_array = channels output_float_array_array_array width in
        let channel_list = Array.to_list channel_array in
        let output_float_array_list = arrange output_float_array_array_array width in
        (channel_list, output_float_array_list)