#include "itcomm.h" int main() { Real_Timer time; int N=10000, M=8, k=needed_bits(M); vec EbN0 = "0:2:20"; vec EN0ggr = inv_dB(EbN0)*k; vec pb(EbN0.size()); PAM pam(M); Array berc(EbN0.size()); bvec transmitted_bits, received_bits; vec transmitted_symbols, received_symbols, noise; transmitted_bits = randb(N*k); pam.modulate_bits(transmitted_bits, transmitted_symbols); cout << "Energy=" << sum(sqr(transmitted_symbols))/double(transmitted_symbols.size()) << endl; randn(transmitted_symbols.size(), noise); for (int i=0; i