In reply to bachan21:
There is no sample timing in what you described. And you only have 768 elements. How are they supposed to be spread over 1924 values? If I were to model exactly what you wrote:
bit [31:0] array[1024];
covergroup cg with function sample(bit[31:0] element);
coverpoint cp {bins b[1924] = { [100:2023] }; }
endgroup
cg cg_inst = new;
for(int i=0;i<768;i++). cg_inst.sample(array[i]);
You would never get 100% coverage.