一、信源函数产生
在MATLAB中,提供了randerr、randint、randsrc、wgn函数用于产生信源。
1、randerr函数
此函数用于产生误比特图样。
out=randerr(m):产生一个m*m维的二进制矩阵,矩阵中的每一行有且只有一个非零元素,且非零元素在每一行的位置是随机的。
out=randerr(m,n):产生一个m*n维的二进制矩阵,矩阵中的每一行有且只有一个非零元素,且非零元素在每一行的位置是随机的。
out=randerr(m,n,errors):产生一个m*n维的二进制矩阵,参数errors可以是一个标量、向量或者只有两行的矩阵。
当errors是一个标量时,产生矩阵中的每一行1的个数等于errors;
当errors是一个向量时,产生矩阵每一行1的个数由errors的相应元素指定;
当errors是一个只有两行的矩阵时,第一行指定可能出现1的个数,第二行说明出现1的概率,第二行所有元素和为1。第二行概率前加点即.25。
例如:
>> clear all;
>> out=randerr(4,5,[0 3])
out =
0 1 0 1 1
0 0 0 0 0
1 0 1 1 0
1 1 0 0 1
>> out2=randerr(5,6,[0 2;.56 .44])
out2 =
0 0 0 0 1 1
0 0 0 0 0 0
1 0