Hallo,
I guess I explained to less. I'm using hard symbol coding. As I read in
the documentation, I can use the trellis modulated Symbols how ever I
want to. So on the transmitter side, I do not forward the trellis
modulated symbols to a QAM modulator or something. I convert the
generated fsm symbols let's say with 2 Bits per Byte with a
unpacked_to_packed block back into a byte with all symbols use. So I
have 4 trellis coded symbols in each byte. And the so coded bytes I
forward to the ofdm_mod to transmit it.
On the receiver side, I take the packet handed over by the
ofdm_demodulator "complete usual ofdm demodulation". So if no error
occured i should get back bytes with 4 fsm hard symbols each. I take
these bytes and make a pack_to_unpack and get back the 4 bytes with one
2bit fsm symbol each. this steam of chunks is than decoded by a
hard_symbol viterbi. The principle is the same like in one of the
trellis examples with an outer coding.
it should in an error free case be the same as taking the symbols
generated by a tcm into a viterbi. the scheme is:
input(packet with leading and ending zeros to force defined
states)---pack_to_unpack--tcm(hard_symbol)--unpack_to_pack--ofdm_mod--CHANNEL--ofdm_demod--pack_to_unpack--combined_viterbi(hard_symbol)--unpack_to_pack---
And I don't know why I doesn't work all the time.
Is there an error in my idea?
Cheers,
Tobias
Am 09.09.2010 21:57, schrieb Veljko Pejovic:
Hi Tobias,
I'm trying to implement coded OFDM as well. I think we are following
the same approach when it comes to the transmission, but I'm afraid I
do not understand your receiver. When exactly do you do OFDM
demodulation? combined_viterbi does demodulation of the BPSK, QAM, etc
signal based on the given constellation. However, OFDM decoding has
to happen before that. The tricky part is that the OFDM blocks in
gnuradio don't allow you to easily plug the combined_viterbi module.
Are you putting it between ofdm_recv and ofdm_demod in the ofdm_demod
class? If so, what about the control signal that tells you where the
frame starts, which flows on the other ofdm_recv port?
Cheers,
Veljko
On Thu, Sep 9, 2010 at 7:10 AM, Tobias Schmid
<tobiasschmid22...@web.de <mailto:tobiasschmid22...@web.de>> wrote:
Hi,
I've got another question. I implemented an OFDM-transmission
eviroment and now I additionally added channel coding. It works
fine, but when using trellis modulator and viterbi decoder, the
packeterrorrate increases.
I realized the blockbuilding, using a message_queue counting the
incomming items and when reached a certain limit, push it into an
message source.
To realize the defined initial and final state, I added zeros at
the end of each block using the python --struct-- module. These
data blocks are converted to chunks and handed over to the
trellis_modulator.
The outcoming chunks are, depending on there number of bits packt
to shorts to transmit it using the ofdm_mod block.
Obn the receiver side the recieved block is unpackt using the
inverse operation of the block after the trellis_mod und the tcm
output symbols are handed over to the combined_viterbi afterwards
packt to the original data stream. This stream is catched by a
message queue as well and packets of the original length are
reconstructed.
So my question is, what did I do wrong, to get an packet error
rate, that is worse than the uncoded transmission. It seems to me,
that some times in the transmission the viterbi works fine and
corrects all the errors, but sometimes, it doesn't output any
correct data.
Is there a solution to this problem?
Thanks alot for your help.
Tobias
Neu: WEB.DE <http://WEB.DE> De-Mail - Einfach wie E-Mail, sicher
wie ein Brief!
Jetzt De-Mail-Adresse reservieren:
https://produkte.web.de/go/demail02
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio