In the latest commit, I generalized run_ngdbf so that it can handle other trapping sets. I turned it into a function that takes a transition matrix as an argument. I couldn't remember the way that the trapping set is represented as a matrix, so I just used my intuition and went with what made sense to me. A '1' is placed to represent a check node between two variable nodes, with '1's on the diagonal representing degree one check nodes. For example, I represent the (4,4) trapping set with the matrix
1 1 0 1
1 1 1 0
0 1 1 1
1 0 1 1
If there is a more correct way to represent them, it shouldn't be too hard to change that. I want to add the other channel parameters as arguments next and then wrap that in another script that will sweep the SNR and maybe some other parameters.
Github:
#^https://github.com/fluentverification/usu_stochastic_case_studies/blob/master/ngdbf_models/run_ngdbf.m