我是靠谱客的博主 哭泣老虎,最近开发中收集的这篇文章主要介绍(一)信源函数——randerr、randint、randsrc、wgn,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、信源函数产生

在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     0     1     0     0
     0     0     0     0     0     0
     1     1     0     0     0     0

2.randint函数

该函数用于产生均匀分布的随机整数矩阵

out=randint:产生一个不是1就是0的标量,且出现概率一样。

out=randint(m):产生一个m*m的整数矩阵,矩阵中的元素为等概率出现的0和1。

out=ranfdint(m,n):产生一个m*n的整数矩阵,矩阵中的元素为等概率出现的0和1。

out=ranfdint(m,n,rg):产生一个m*n的整数矩阵,如果rg为0,则产生0矩阵,否则矩阵中的元素是rg所设定范围内整数的均匀分布。此范围为:

[0,rg-1],当rg为正整数时;

[rg+1,0],当rg为负整数时;

从min到max,包括min和max,为rg=[min,max]或[min,max]。

3.randsrc函数

根据给定的数字产生一个随机符号矩阵。

out=randsrc:产生一个随机标量,这个标量是1或-1,概率相等。

out=randscr(m):产生一个m*m的矩阵,元素为等概率出现的1或-1。

out=randscr(m,n):产生一个m*n的矩阵,元素为等概率出现的1或-1。

out=randscr(m,n,alphabet):产生一个m*n的矩阵,矩阵的元素为alphabet中所指定的数据符号,等概率出现且相互独立。

out=randscr(m,n,[alphabet;prob]):产生一个m*n的矩阵,矩阵的元素为alphabet中所指定的数据符号,概率出现由prob决定,prob中所有元素和为1。

例如:

>> out=randsrc(7,10,[-1 3 5 -2])

out =

    -1     5    -1     3    -2    -2    -2     5    -2    -1
    -2    -1    -2    -2     3    -1     3     5     5    -2
     3    -1     3     5     5     5     5     3    -2    -2
     5     3    -1     5    -1     3    -1    -1    -1    -2
     5    -2     3    -2    -1    -1     5    -1     3    -1
    -2     3     5     3     5     3     3    -2    -1     3
    -2    -2     3    -2    -2    -1     5    -1    -2     3

>>  out=randsrc(5,4,[-1 3 5 -2;.25 .25 .40 .10])

out =

     5    -1    -1     3
     3    -1     5    -1
    -2     5     5    -1
    -1     5     3    -1
     3     5     5    -1

4.wgn函数

该函数用于产生高斯白噪声,单位可以是分贝瓦(dBW),分贝毫瓦(dBm)其中1W=0dBW=30dB,加性高斯白噪声表现为信号围绕平均值的一种随机波动过程。其均值为0,方差变现为噪声功率的大小。

y=wgn(m,n,p):产生m*n的白噪声矩阵,p表示输出信号y的功率(dBW),负载的电阻为1。

y=wgn(m,n,p,imp):产生m*n的白噪声矩阵,功率(dBW)为p,指定负载的电阻为imp,单位欧姆。

例如:

>> y1=wgn(5,6,0)

y1 =

   -1.1564   -0.0200   -0.7145   -0.8479   -1.2571   -2.3299
   -0.5336   -0.0348    1.3514   -1.1201   -0.8655   -1.4491
   -2.0026   -0.7982   -0.2248    2.5260   -0.1765    0.3335
    0.9642    1.0187   -0.5890    1.6555    0.7914    0.3914
    0.5201   -0.1332   -0.2938    0.3075   -1.3320    0.4517
 
>> y2=wgn(2,6,10)

y2 =

   -0.4120   -1.5057   -4.3061   -2.6839    1.7481   -3.5343
    0.5809    2.7260    1.4389   -1.0590    3.2859    3.9866

 

最后

以上就是哭泣老虎为你收集整理的(一)信源函数——randerr、randint、randsrc、wgn的全部内容,希望文章能够帮你解决(一)信源函数——randerr、randint、randsrc、wgn所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部