TianLin0509 / DNN_detection_via_keras

This is the simplest implementation of Power of Deep Learning for Channel Estimation and Signal Detection in OFDM Systems using keras.
160 stars 67 forks source link

How are the 16 bits related to the 128 symbols #6

Open MaggieShammaa opened 4 years ago

MaggieShammaa commented 4 years ago

First of all I need to thank you for your hard work and dedication. I know you explained in previous issues that the author wanted to predict the 128 bits with 8 independent networks. What I dont get is the link between the 256 input nodes and the 16 output nodes.. As far as understand the 256 nodes change for every network so each time the network is prediciting 16 bits out of the 128 and the 128 are changing each time.. which appears in your code trainning_gen() every time in the loop you create new 128 bits you pass them to ofdm simulate which gives the corresponding pilot and transmitted ofdm symbols as real and imag parts seperatly and you only use the first 16 bits of the original bit stream as labels? and the channel changes for 1000 times with new bit stream .. In other words can you please ellaborate more the mechanism of trainning_gen(bs,SNR)? In simple words how am I giving the Network information about 128 data symbols and asking to predict 16 of them where does the network understand that?? from solving previous issues I thought that the network should pass on the same 128 symbols and each time give me a group of 16 bits uptill the end? I studied your code and the original paper for days and I am stuck here. please help me if you can. Thanks in advance

BassantTolba1234 commented 4 years ago

Dear Maggie , I have the same inquiry as you explained above . and please I need to know which type of modulation scheme is used here QPSK as mentioned in the paper or QAM as written in the code ? what should I do to make it 16 QAM ? the second question , can you kindly share the code required to get the same results figures ? thanks in advance

MaggieShammaa commented 4 years ago

Dear Maggie , I have the same inquiry as you explained above . and please I need to know which type of modulation scheme is used here QPSK as mentioned in the paper or QAM as written in the code ? what should I do to make it 16 QAM ? the second question , can you kindly share the code required to get the same results figures ? thanks in advance

Dear Bassant, I think in his code he used BPSK because i found that he generates random bits 0 and 1 of probability 0.5 each so it looks binary to me however I am not very familiar with python I am still learning. I didnt do the same code I am just asking because I am creating a similar network and wanted to understand the concept used

TianLin0509 commented 4 years ago

Hello, actually, I only simulate the result of the first NN of totally 8 independent NNs. Therefore, I only predict the 1-16 bits. But it should be mentioned that, the average BER performance of the total 8 NNs, is the same as the first NN. Therefore, this simulation is enough to analyze the performance results.

MaggieShammaa commented 4 years ago

Thank you so much for your email. However, I am afraid I need to ask, How will the NN know all the input will be used to predict the first 16 only. I mean why do you use All the same sent data each time for the 8 NNs?

Regards, Maggie

On Tue, 4 Aug 2020, 11:51 am Lin Tian, notifications@github.com wrote:

Hello, actually, I only simulate the result of the first NN of totally 8 independent NNs. Therefore, I only predict the 1-16 bits. But it should be mentioned that, the average BER performance of the total 8 NNs, is the same as the first NN. Therefore, this simulation is enough to analyze the performance results.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-668500375, or unsubscribe https://github.com/notifications/unsubscribe-auth/APODZRGML4J4RFGBIBJOUF3R67K2NANCNFSM4MYOB5EA .

BassantTolba1234 commented 3 years ago

Dear Sir, I really appreciate your hard work..and please I have a question, in main file line 48, why do you make (model.evaluate) on function called (validation_gen) which exactly contains the generation of training datasets not the test datasets??..

why did not you apply evaluation the model on testing datasets you provided , instead of training datasets ? I'm waiting for your reply.. thanks in advance.

TianLin0509 commented 3 years ago
font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

Hi, I'm sorry, I just copy the codes from the train part to the test part, so exactly you should use the test datasets for testing. 
    So, you are right and you can just replace the training datasets by the test datasets.

                            lint17

                                lint17@fudan.edu.cn

    签名由
    网易邮箱大师
    定制

On 10/26/2020 18:49,BassantTolba1234<notifications@github.com> wrote: 

Dear Sir, I really appreciate your hard work..and please I have a question, in main file line 48, why do you make (model.evaluate) on function called (validation_gen) which exactly contains the generation of training datasets not the test datasets??.. why did not you apply evaluation the model on testing datasets you provided , instead of training datasets ? I'm waiting for your reply.. thanks in advance.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.

BassantTolba1234 commented 3 years ago

Nevermind Sir, but please with regards to the reported results in the paper , are they come from the correct code (testing on test dataset) or) testing on training dataset) ???

On Mon, Oct 26, 2020 at 12:52 PM Lin Tian notifications@github.com wrote:

font{ line-height: 1.6; } ul,ol{ padding-left: 20px; list-style-position: inside; }

Hi, I'm sorry, I just copy the codes from the train part to the test part, so exactly you should use the test datasets for testing. So, you are right and you can just replace the training datasets by the test datasets.

lint17

lint17@fudan.edu.cn

签名由 网易邮箱大师 定制

On 10/26/2020 18:49,BassantTolba1234notifications@github.com wrote:

Dear Sir, I really appreciate your hard work..and please I have a question, in main file line 48, why do you make (model.evaluate) on function called (validation_gen) which exactly contains the generation of training datasets not the test datasets??.. why did not you apply evaluation the model on testing datasets you provided , instead of training datasets ? I'm waiting for your reply.. thanks in advance.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716469371, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOE5CA3TSCQVTHXGHJALPZLSMVIGXANCNFSM4MYOB5EA .

TianLin0509 commented 3 years ago
font{
    line-height: 1.6;
}
ul,ol{
    padding-left: 20px;
    list-style-position: inside;
}

    They are right. Actually it is just my reproduction work of the paper, and it it not related with the results in the paper (I have never touched with the authors), but you can run the right codes and verify it .

                            lint17

                                lint17@fudan.edu.cn

    签名由
    网易邮箱大师
    定制

On 10/26/2020 19:01,BassantTolba1234<notifications@github.com> wrote: 

Nevermind Sir, but please with regards to the reported results in the

paper , are they come from the correct code (testing on test dataset) or)

testing on training dataset) ???

On Mon, Oct 26, 2020 at 12:52 PM Lin Tian notifications@github.com wrote:

font{

line-height: 1.6;

}

ul,ol{

padding-left: 20px;

list-style-position: inside;

}

Hi, I'm sorry, I just copy the codes from the train part to the test part,

so exactly you should use the test datasets for testing.

So, you are right and you can just replace the training datasets by the

test datasets.

lint17

lint17@fudan.edu.cn

签名由

网易邮箱大师

定制

On 10/26/2020 18:49,BassantTolba1234notifications@github.com wrote:

Dear Sir,

I really appreciate your hard work..and please I have a question, in main

file line 48, why do you make (model.evaluate) on function called

(validation_gen) which exactly contains the generation of training datasets

not the test datasets??..

why did not you apply evaluation the model on testing datasets you

provided , instead of training datasets ?

I'm waiting for your reply..

thanks in advance.

—You are receiving this because you commented.Reply to this email

directly, view it on GitHub, or unsubscribe.

You are receiving this because you commented.

Reply to this email directly, view it on GitHub

https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716469371,

or unsubscribe

https://github.com/notifications/unsubscribe-auth/AOE5CA3TSCQVTHXGHJALPZLSMVIGXANCNFSM4MYOB5EA

.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.

BassantTolba1234 commented 3 years ago

The idea is that I actually ran your code (main.py) (which is built on evaluating the model on training dataset not testing) and the surprise is that it gives me the same result on the paper .. so I'm so surprised !.. please , do you have any explanation for this? Thanks for your reply..

On Mon, Oct 26, 2020 at 1:19 PM Lin Tian notifications@github.com wrote:

font{ line-height: 1.6; } ul,ol{ padding-left: 20px; list-style-position: inside; }

They are right. Actually it is just my reproduction work of the paper, and it it not related with the results in the paper (I have never touched with the authors), but you can run the right codes and verify it .

lint17

lint17@fudan.edu.cn

签名由 网易邮箱大师 定制

On 10/26/2020 19:01,BassantTolba1234notifications@github.com wrote:

Nevermind Sir, but please with regards to the reported results in the

paper , are they come from the correct code (testing on test dataset) or)

testing on training dataset) ???

On Mon, Oct 26, 2020 at 12:52 PM Lin Tian notifications@github.com wrote:

font{

line-height: 1.6;

}

ul,ol{

padding-left: 20px;

list-style-position: inside;

}

Hi, I'm sorry, I just copy the codes from the train part to the test part,

so exactly you should use the test datasets for testing.

So, you are right and you can just replace the training datasets by the

test datasets.

lint17

lint17@fudan.edu.cn

签名由

网易邮箱大师

定制

On 10/26/2020 18:49,BassantTolba1234notifications@github.com wrote:

Dear Sir,

I really appreciate your hard work..and please I have a question, in main

file line 48, why do you make (model.evaluate) on function called

(validation_gen) which exactly contains the generation of training datasets

not the test datasets??..

why did not you apply evaluation the model on testing datasets you

provided , instead of training datasets ?

I'm waiting for your reply..

thanks in advance.

—You are receiving this because you commented.Reply to this email

directly, view it on GitHub, or unsubscribe.

You are receiving this because you commented.

Reply to this email directly, view it on GitHub

< https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716469371 ,

or unsubscribe

< https://github.com/notifications/unsubscribe-auth/AOE5CA3TSCQVTHXGHJALPZLSMVIGXANCNFSM4MYOB5EA

.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716483538, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOE5CA4OH224UXY325VDXGTSMVLNXANCNFSM4MYOB5EA .

TianLin0509 commented 3 years ago
        I think the performance on the test set will be same,so… because I have run their source codes, and I remember the results are right

        On 10/26/2020 19:27, BassantTolba1234 wrote: 

The idea is that I actually ran your code (main.py) (which is built on

evaluating the model on training dataset not testing) and the surprise is

that it gives me the same result on the paper .. so I'm so surprised !..

please , do you have any explanation for this?

Thanks for your reply..

On Mon, Oct 26, 2020 at 1:19 PM Lin Tian notifications@github.com wrote:

font{

line-height: 1.6;

}

ul,ol{

padding-left: 20px;

list-style-position: inside;

}

They are right. Actually it is just my reproduction work of the paper, and

it it not related with the results in the paper (I have never touched with

the authors), but you can run the right codes and verify it .

lint17

lint17@fudan.edu.cn

签名由

网易邮箱大师

定制

On 10/26/2020 19:01,BassantTolba1234notifications@github.com wrote:

Nevermind Sir, but please with regards to the reported results in the

paper , are they come from the correct code (testing on test dataset) or)

testing on training dataset) ???

On Mon, Oct 26, 2020 at 12:52 PM Lin Tian notifications@github.com

wrote:

font{

line-height: 1.6;

}

ul,ol{

padding-left: 20px;

list-style-position: inside;

}

Hi, I'm sorry, I just copy the codes from the train part to the test

part,

so exactly you should use the test datasets for testing.

So, you are right and you can just replace the training datasets by the

test datasets.

lint17

lint17@fudan.edu.cn

签名由

网易邮箱大师

定制

On 10/26/2020 18:49,BassantTolba1234notifications@github.com wrote:

Dear Sir,

I really appreciate your hard work..and please I have a question, in main

file line 48, why do you make (model.evaluate) on function called

(validation_gen) which exactly contains the generation of training

datasets

not the test datasets??..

why did not you apply evaluation the model on testing datasets you

provided , instead of training datasets ?

I'm waiting for your reply..

thanks in advance.

—You are receiving this because you commented.Reply to this email

directly, view it on GitHub, or unsubscribe.

You are receiving this because you commented.

Reply to this email directly, view it on GitHub

<

https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716469371

,

or unsubscribe

<

https://github.com/notifications/unsubscribe-auth/AOE5CA3TSCQVTHXGHJALPZLSMVIGXANCNFSM4MYOB5EA

.

—You are receiving this because you commented.Reply to this email

directly, view it on GitHub, or unsubscribe.

You are receiving this because you commented.

Reply to this email directly, view it on GitHub

https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716483538,

or unsubscribe

https://github.com/notifications/unsubscribe-auth/AOE5CA4OH224UXY325VDXGTSMVLNXANCNFSM4MYOB5EA

.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.

[

{

"@context": "http://schema.org",

"@type": "EmailMessage",

"potentialAction": {

"@type": "ViewAction",

"target": "https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716487012",

"url": "https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716487012",

"name": "View Issue"

},

"description": "View this Issue on GitHub",

"publisher": {

"@type": "Organization",

"name": "GitHub",

"url": "https://github.com"

}

}

]

BassantTolba1234 commented 3 years ago

mmmm Thank you alot. the last thing,please I need to write this function in keras form , can you kindly help me ? [image: image.png] I attached the figure of your code function and also wrote it down.

def bit_err(y_true, y_pred): err = 1 - tf.reduce_mean( tf.reduce_mean( tf.to_float( tf.equal( tf.sign( y_pred - 0.5), tf.cast( tf.sign( y_true - 0.5), tf.float32))), 1)) return err

On Mon, Oct 26, 2020 at 1:41 PM Lin Tian notifications@github.com wrote:

I think the performance on the test set will be same,so… because I have run their source codes, and I remember the results are right

On 10/26/2020 19:27, BassantTolba1234 wrote:

The idea is that I actually ran your code (main.py) (which is built on

evaluating the model on training dataset not testing) and the surprise is

that it gives me the same result on the paper .. so I'm so surprised !..

please , do you have any explanation for this?

Thanks for your reply..

On Mon, Oct 26, 2020 at 1:19 PM Lin Tian notifications@github.com wrote:

font{

line-height: 1.6;

}

ul,ol{

padding-left: 20px;

list-style-position: inside;

}

They are right. Actually it is just my reproduction work of the paper, and

it it not related with the results in the paper (I have never touched with

the authors), but you can run the right codes and verify it .

lint17

lint17@fudan.edu.cn

签名由

网易邮箱大师

定制

On 10/26/2020 19:01,BassantTolba1234notifications@github.com wrote:

Nevermind Sir, but please with regards to the reported results in the

paper , are they come from the correct code (testing on test dataset) or)

testing on training dataset) ???

On Mon, Oct 26, 2020 at 12:52 PM Lin Tian notifications@github.com

wrote:

font{

line-height: 1.6;

}

ul,ol{

padding-left: 20px;

list-style-position: inside;

}

Hi, I'm sorry, I just copy the codes from the train part to the test

part,

so exactly you should use the test datasets for testing.

So, you are right and you can just replace the training datasets by the

test datasets.

lint17

lint17@fudan.edu.cn

签名由

网易邮箱大师

定制

On 10/26/2020 18:49,BassantTolba1234notifications@github.com wrote:

Dear Sir,

I really appreciate your hard work..and please I have a question, in main

file line 48, why do you make (model.evaluate) on function called

(validation_gen) which exactly contains the generation of training

datasets

not the test datasets??..

why did not you apply evaluation the model on testing datasets you

provided , instead of training datasets ?

I'm waiting for your reply..

thanks in advance.

—You are receiving this because you commented.Reply to this email

directly, view it on GitHub, or unsubscribe.

You are receiving this because you commented.

Reply to this email directly, view it on GitHub

<

https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716469371

,

or unsubscribe

<

https://github.com/notifications/unsubscribe-auth/AOE5CA3TSCQVTHXGHJALPZLSMVIGXANCNFSM4MYOB5EA

.

—You are receiving this because you commented.Reply to this email

directly, view it on GitHub, or unsubscribe.

You are receiving this because you commented.

Reply to this email directly, view it on GitHub

< https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716483538 ,

or unsubscribe

< https://github.com/notifications/unsubscribe-auth/AOE5CA4OH224UXY325VDXGTSMVLNXANCNFSM4MYOB5EA

.

—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.

[

{

"@context": "http://schema.org",

"@type": "EmailMessage",

"potentialAction": {

"@type": "ViewAction",

"target": " https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716487012 ",

"url": " https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716487012 ",

"name": "View Issue"

},

"description": "View this Issue on GitHub",

"publisher": {

"@type": "Organization",

"name": "GitHub",

"url": "https://github.com"

}

}

]

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/TianLin0509/DNN_detection_via_keras/issues/6#issuecomment-716493644, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOE5CA756HNQZLYU7675SUTSMVN75ANCNFSM4MYOB5EA .