|
From: | Arturo Rinaldi |
Subject: | Re: [Discuss-gnuradio] need help for digital.constellation_decoder_cb in release 3.5.0 |
Date: | Sun, 11 Mar 2012 02:30:43 +0100 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 |
On Thu, Mar 8, 2012 at 8:19 PM, Arturo Rinaldi<address@hidden> wrote:Nella citazione in data ven 09 dic 2011 05:55:57 CET, Ben Reynwar ha scritto:On Thu, Dec 8, 2011 at 5:33 PM, Arturo Rinaldi<address@hidden> wrote:I noticed dramatic changes in the 3.5.0 release in the generation of the constellation points of digital modulations. So, if the easy part is to again modify the source code to match my needs, i need some help in using the new block : digital.constellation_decoder_cb(arg1) instead of gr.constellation_decoder(arg1,arg2) I usually used the last one where arg1 is a list containing the complex values of a generic digital modulation and arg2 is the symbol mapping (Gray Coding for instance). Which blocks do i need to put together to get the same result ? Regards, Arturo _______________________________________________ Discuss-gnuradio mailing list address@hidden https://lists.gnu.org/mailman/listinfo/discuss-gnuradioSimplest solution is probably: constell = digital.digital_constellation(list_of_complex_points, [], 1, 1) decoder = digital.constellation_decoder_cb(constell) To get the symbol mapping you want, just choose the appropriate order of the complex points in the list. The 2nd, 3rd and 4th arguments to the constellation constructor while not relevant to this example are: - a mapping to be applied before differential encoding. - the rotational-symmetry of the constellation - the dimensionality of the constellation (i.e. number of complex points that together map to one symbol) Functions to simplify the creation of commonly used constellations can be found in digital.bpsk, digital.qpsk, digital.psk, and digital.qam. Beni made some progress in simplyfing the creation of the constellations but i still need help in the decoding part. I'm trying to calculate the modulation BER by using this flow graph : http://imageshack.us/photo/my-images/819/bersimgrchomeartynetscr.png/ i removed all the unnecessary parameters to my study (excess bw , differential coding etc.) because i need only gray coding. and the decoding part is this one http://pastebin.com/wADRx7Hj could you please help me ? the grc blocks are made by invoking only the psk_new.py source http://pastebin.com/kawSfuPg modified by me. please help me. thx in advance Regards, Arturo.I'd be happy to help but I'm not quite sure what exactly your problem/question is. Maybe you could post the python generated by grc, along with the issue you're having?
here it is http://pastebin.com/hQsPXbjJmy goal is to perform a baseband simulation for a simple BER estimation (modulator-channel-demodulator). when i posted the issue some time ago i used the block
decoder = gr.constellation_decoder_cb($constellation_points,$symbol_value)
i.e. for a qpsk modulation -----> constellation_points=[1+1j,-1+1j,-1-1j,1-1j] , symbol_value=[0,1,2,3]
after that i "un-grayed" the symbols by connecting the map block gr.map_bb([0,1,3,2]) Since i'm usign the 3.5.2 tarball, the new blockdigital_swig.constellation_decoder_cb($constellation) (and not digital.constellation_decoder_cb) that you suggested me takes as argument a "constellation" object and not a "constellation_bpsk", "constellation_qpsk" object and so on. So i think i'm unable to assign the right symbols to the decoded constellation and perform a correct BER estimation. I tried to use also with the object
digital.constellation($constellation_points)as you suggested to build my own constellation but the log file says that it is an "abstract class" so it can't be used. I hope I explained myself well this time. Please help me because i need to update my work to the 3.5.x gnuradio version.
PS : I also thought that I could take the old block gr.constellation_decoder_cb from the 3.4.2 tarball (.h , .i and .cc files) and build it with gr-how-to-make-a-block-3.5.2...would it be possible ?
Best Regards, Arturo
[Prev in Thread] | Current Thread | [Next in Thread] |