Hi John, Thanks for the message sorry for using MATLAB notation without
clarification 2:12 = from 2 upto 12.
To simplify the case, I wrote the following code that actually carry the same
problem concept:
*****************************************************************************************************************
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <arraycomms_construct_rxx_vcc.h>
#include <gr_io_signature.h>
arraycomms_construct_rxx_vcc_sptr arraycomms_make_construct_rxx_vcc (int
input_ports){
return arraycomms_construct_rxx_vcc_sptr (new arraycomms_construct_rxx_vcc
(input_ports));
}
unsigned int N=0; // number of input ports
arraycomms_construct_rxx_vcc::arraycomms_construct_rxx_vcc (int num_input_ports)
: gr_sync_block ("construct_rxx_vcc", gr_make_io_signature (2, 12,
sizeof(gr_complex)),
gr_make_io_signature (1,1 ,
num_input_ports*num_input_ports*sizeof(gr_complex))){
N=num_input_ports;
}
arraycomms_construct_rxx_vcc::~arraycomms_construct_rxx_vcc (){}
int arraycomms_construct_rxx_vcc::work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
gr_complex *out =(gr_complex *) output_items[0];
gr_complex out_vector [N*N];
const gr_complex *in[N];
for (unsigned int i = 0; i<N; i++)
{
in[i] = (const gr_complex *) input_items[i];
}
for (int i = 0; i < noutput_items; i++){
unsigned int index = 0;
for (unsigned int n =1; n<=N*N; n++){
out_vector[index]=gr_complex(4, 0);
index++;
}
}
memcpy(out, out_vector, N*N*sizeof(gr_complex));
return noutput_items;
}
*********************************************************************************************
This code is supposed to generate a vector of 4 elements ( I used N=2 in the
GRC) with each element = 4+j0 whatever the input is. However, the content of
the sink file is:
4.0000000e+00
4.0000000e+00
4.0000000e+00
4.0000000e+00
0.0000000e+00
0.0000000e+00
0.0000000e+00
0.0000000e+00
0.0000000e+00
0.0000000e+00
.....
4.0000000e+00
4.0000000e+00
4.0000000e+00
4.0000000e+00
0.0000000e+00
0.0000000e+00
0.0000000e+00
0.0000000e+00
0.0000000e+00
0.0000000e+00
I hope the situation is now clearer.
Cheers,
Sam
> To: samy-1...@live.com; g...@toad.com
> Subject: Re: [Discuss-gnuradio] complex vector output of a block
> Date: Wed, 9 Jun 2010 16:49:15 -0700
> From: g...@toad.com
>
> > Thanks for replying. N is designed to be 2:12.
>
> Maybe others understand what you're saying, but 2:12 doesn't mean anything
> to me. Do you mean "between 2 and 12"? Or is this a Biblical reference,
> or perhaps the time of day?
>
> I suggest that you just post the code that's giving you the trouble
> (either in an email, or if it's more than about 200 lines, put it on
> a web site or pastebin or wiki and email a URL for it). Trying to
> debug somebody else's code piecemeal by asking little questions is
> unlikely to lead to success.
>
> John
_________________________________________________________________
http://clk.atdmt.com/UKM/go/197222280/direct/01/
Do you have a story that started on Hotmail? Tell us now
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio