Matlab仿真-信源仿真

1.信源产生函数

1.1 randerr 函数

用于产生误比特图样,(只有0和1的矩阵)

out = randerr(m)   %产生m阶方阵,每行只有一个非0元(1),位置随机

out = randerr(m,n)   %产生mxn阶矩阵,每行只有一个非0元(1),位置随机

out = randerr(m,n,errors)   %产生mxn阶矩阵

                                          errors = A,矩阵每一行出现A个1,位置随机

                                          errors = [0 2],矩阵每一行出现0个1或者2个1,位置随机

                                          errors = [0 2; 0.75,0.25],两行矩阵,第一行为个数,第二行概率

 1.2 randi 函数

产生离散型随机整数

X=randi(iamx)          %产生iamx以内的1x1矩阵

X=randi(iamx,n)          %产生iamx以内的nxn矩阵   数字随机

X=ramdi(imax,sz1,sz2...szN,classname)   %产生一个N维的离散随机数组

 1.3 randsrc 函数

用于产生给定的数字表中的随机符号矩阵,这里的元素都是数据符号,相互独立。

out = randsrc  %产生一个随机标量,范围1或-1,概率相等

out = randsrc(m)  %产生m阶方阵,范围1或-1,概率相等

out = randsrc(m,n)  %产生mxn阶方阵,范围1或-1,概率相等

out = randsrc(m,n,alphabet)  %产生mxn阶方阵,范围alphabet,概率相等

 1.4 wgn(White Gaussian Noise) 函数

用于产生高斯白噪声,可以产生实数形式或者复数形式的噪声,功率单位为dBW(分贝瓦)

高斯白噪声是最简单的一种噪声,表现为信号围绕平均值的一种随机波动过程,其均值为0,方差表现为噪声功率的大小。

y = wgn(m,n,p)                %产生mxn列白噪声矩阵,p表示输出信号y的功率,单位bBW

 2 信源编码/解码函数

2.1 arithenco/arithdeco函数

arithenco函数实现算数二进制码编码;

arithdeco函数实现算数二进制码解码;

code = arithenco(seq,counts)  %指向量seq对应的符号序列产生二进制算数代码,counts代  表信源中指定符号在数据集合中出现的次数。

dseq= arithdeco(code,counts,len)  %解码二进制算术代码code,恢复相应的len符号列。

>> clear all
>> counts = [99 1];
>> len = 1000;
>> seq = randsrc(1,len,[1 2; 0.99 0.01]);   %随机产生1行1000列,包含1 2,概率分别为0.99,0.1
>> code= arithenco(seq,counts);
>> dseq = arithdeco(code,counts,length(seq));          %编解码
>> isequal(seq,dseq)   %返回1相同,0不同

2.2 dpcmenco/dpcmdeco 函数

用于实现差分码调制编解码;

indx = dpcmenco(sig,codebook,partition,predictor)  %sign输入信号,codebook预测误差量化码本,partition量化阈值,predictor预测期的预测传递函数系数向量,返回indx为量化序号

看不懂,用到再补

2.3 compand 函数

提供compand函数用于按Mu律或A律对输入信号进行扩展或者压缩

看不懂,用到再补

2.4 lloyds 函数

优化标量量化的阈值和码本,用给定的训练序列矢量优化初试码本,使量化误差小于给定的容差。

看不懂,用到再补

2.5 quantiz 函数

用于产生一个量化序号和输出量化值。

3 信号产生器

3.1  伯努利二进制产生器

3.1.1 binopdf 函数

用于计算伯努利二进制的概率密度函数。

binopdf(k,n,p)  %A事件发生k次,总实验次数n次,每次发生的概率p

3.1.2 binocdf 函数

用于计算伯努利二进制的累计概率值。

binocdf(k,n,p)  %A事件发生k次,总实验次数n次,每次发生的概率p

用到再补

3.2  泊松分布整数产生器

poisspdf() 用于求泊松分布的概率密度

poisscdf() 用于求泊松分布的累计概率

用到再补

3.3 随机整数产生器

random用于产生随机整数

R = random(NAME,A) %产生NAME类型的分布,A是该类型的参数

y =random('norm',2,0.3,3,4) %生成一个3行4列,均值2标准差0.3的正态分布随机数

3.4 均匀分布随机产生器

unifrnd创建均匀分布

unifcdf求均匀分布的累计概率

3.5 标准正态分布随机数产生器

randn函数

用到再补

3.6 瑞利随机分布产生器

raylpdf函数

用到再补

猜你喜欢

转载自blog.csdn.net/weixin_44422853/article/details/123347479