yoniLc / E2E_DC_ECCT

6 stars 0 forks source link

The issue of ber being 0 #1

Open wuqingle opened 3 weeks ago

wuqingle commented 3 weeks ago

Hello author: I ran your code and added the code to test ber at the end and got the following results, Eb/N0 : -2 , -1 , 0, 1,
ber:0.06451612710952759, 0.12903225421905518, 0.06451612710952759, 0.032258063554763794.

However, Eb/N0 is 4, 5, and 6. I have been running for several days but there is still no result because they are all 0,and the iteration cannot be stopped.. How long did it take you to run to get the results? Or is there something wrong with my code for testing ber? thanks for the reply!!!!

qingle wu

yoniLc commented 3 weeks ago

Hi @wuqingle , please share the code for reproduction. Zero BER for low SNRs is strange. Iterations can always be stopped by setting a maximum number of testing samples. The code provided in the main is a sample code but if you are sure about your BER test code then the method may have found a (very) good code.

wuqingle commented 3 weeks ago

Hi @yoniLc The code is https://github.com/wuqingle/ECCT/blob/main/E2E_DC_ECCT.py

We did not change the algorithm, but added the code to test ber for the last time in epoch. This code also refers to the previous ECCT test ber function.

Is there anything wrong with my ber test?

yoniLc commented 3 weeks ago

Hi @wuqingle ,

It seems you are using the same noise, which is statistically wrong (line 84). You may also want to use different messages during training(/testing).