我是靠谱客的博主 畅快保温杯,最近开发中收集的这篇文章主要介绍matlab awgn函数_simulink通信系统函数介绍及实例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MATLAB提供许多通信系统有关函数,如信号源产生函数、信源编码函数等。 1.信源产生函数(3个) (1)randerr    产生误比特图样 (2)randsrc    产生指定符号的随机矩阵 (3)wgn         产生高斯白噪声 具体使用方法如下: (1)randerr    
out=randerr(m)  %产生一个m*m维的二进制矩阵,矩阵中的每一行有且只有一个非零元素,且非零元素在每一行的位置是随机的out=randerr(m,n)  %同上但矩阵类型是mxn位out=randerr(m,n,errors) %产生一个m*n维的二进制矩阵,参数errors可以是一个标量、向量或者只有两行的矩阵。%当errors是一个标量时,产生矩阵中的每一行1的个数等于errors;当errors是一个向量时,产生矩阵每一行1的个数由errors的相应元素指定;当errors是一个只有两行的矩阵时,第一行指定可能出现1的个数,第二行说明出现1的概率,第二行所有元素和为1。第二行概率前加点即.25。
实例:
 out = randerr(5,4,[0 2])out =     0     0     0     0     0     0     0     0     1     1     0     0     0     0     0     0     0     0     1     1      out = randerr(7,4,[0 2;0.5 0.5])out =     0     0     0     0     0     1     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     1     0     0     0     0
(2)randsrc
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(5,5,[1 2 3])out =     3     1     2     3     1     3     2     2     3     1     2     2     3     2     2     2     3     2     2     1     2     3     2     2     3
(3)wgn( 单位可以是分贝瓦(dBW),分贝毫瓦(dBm)其中1W=0dBW=30dB)
y=wgn(m,n,p):产生m*n的白噪声矩阵,p表示输出信号y的功率(dBW),负载的电阻为1。y=wgn(m,n,p,imp):产生m*n的白噪声矩阵,功率(dBW)为p,指定负载的电阻为imp,单位欧姆。
例;
out = wgn(3,3,1,'dBW')%输出噪声功率为1dBWout =   -3.3988   -1.1969   -0.0325   -0.5128    1.0477    0.2047    1.3941    0.3931   -1.7560
2.信源编码/解码函数(4个) (1)arithenco/arithdeco  算数二进制编码/解码 (2)dpcmenco/dpcmdeco   差分脉码调制编码/解码 (3)compand        M/A律扩压计算 (4)lloyds   使用Lloyds算法优化量化参数 (5)quantiz   产生量化序号和量化值(量化在数字信号处理领域,是指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。)

(1)arithenco/arithdeco

code=arithenco(seq,counts)%根据指定向量seq对应的符号序列产生二进制算术代码;counts代表信源中指定符号在数据集中出现的次数dseq=arithdeco(code,counts,len)%恢复对应len符号列

例;

counts=[99 1]>> len=1000;>> seq=randsrc(1,len,[1,2;.99 .01]);%随机序列>> code=arithenco(seq,counts);%编码/解码>> dseq=arithdeco(code,counts,length(seq));>> isequal(seq,dseq) ans =     1

(2)dpcmenco/dpcmdeco

db6d377c95df6f17ab54f7e03be559f6.png

(3)compand        M/A律扩压计算

4752725b256f6c27dc67138f59a53685.png (4)lloyds   使用Lloyds算法优化量化参数 (5)quantiz   产生量化序号和量化值 ab672cf4e74252d19c765780b0e11a79.png

3.信道模型函数(2个)

(1)awgn  将白色高斯噪声添加到信号中

(2)bsc   以误码率p传输二进制输入信号

(1)awgn 

y = awgn(x,snr) y = awgn(x,snr,sigpower) y = awgn(x,snr,'measured') y = awgn(x,snr,sigpower,state) y = awgn(x,snr,'measured',state) y = awgn(...,powertype) 

y = awgn(x,snr)将白高斯噪声添加到向量信号x中。标量snr指定了每一个采样点信号与噪声的比率,单位为dB。如果x是复数的,awgn将会添加复数噪声。这个语法假设x的能量是0dBW。

y = awgn(x,snr,sigpower)和上面的语法相同,除了sigpower是x的能量,单位为dBW。

y = awgn(x,snr,'measured')和y = awgn(x,snr)是相同的,除了agwn在添加噪声之前测量了x的能量。

y = awgn(x,snr,sigpower,state)和y = awgn(x,snr,sigpower)是相同的,除了awgn首先重置了正态随机数产生器randn的状态为整数状态。

y = awgn(x,snr,'measured',state)和y = awgn(x,snr,'measured')是相同的,除了awgn首先重置了正态随机数产生器randn的状态为整数状态。

例:

t=0:.1:10;>> x=sawtooth(t);%产生锯齿信号>> y=awgn(x,10,'measured'); %白噪声处理>> plot(t,x,t,y)

8eb741a0ffc9e2dcbff3a9525e3d8b0f.png

(2)bsc 

bsc(data,p,s) %data为输入信号 p为误码率,s有效随机流

例:

z = randi([0 1],100,100);nz = bsc(z,.15);%经过对称二进制信道的输出信号[numerrs,pcterrs]=biterr(z,nz) %错误数和误码率 numerrs =        1541pcterrs =    0.1541

3.调制/解调函数

ademod 模拟通带解调器

ademodce 模拟基带解调器

amod 模拟通带调制器

amodce 模拟基带调制器

ddemod 数字通带解调器

ddemodce 数字基带解调器

dmod 数字通带调制器

dmodce 数字基带调制器

modmap 把数字信号映射到模拟信号星座图(以供调制)

以上函数使用形式都为:

out = functioname(sig,Fs,Fc)%sig为输入信号,Fc为载波频率,Fs为采样频率

4.滤波器函数

rcosflt(x,Fd,Fs) 升余弦滤波器

Fd,Fs分别是输入和输出的采样频率,r为滚降系数

rcosfir(R,n_T,rate,T) 设计一个升余弦FIR滤波器

参数R为滤波器滚阻系数,n_T为长度为2的向量,用于确定滤波器长度;T为每个比特的持续时间;rate是一个长度为T的输入符号周期内点的个数

rcosiir(R,T_delay,rate,T,tol) 设计一个升余弦IIR滤波器

T_delay滤波器延时;tol为容差

实 例

试着建立用于基带信号频移键控(标准的调制技术,将数字信号加载到不同频率的正弦载波上)的仿真模型。 (1)建立模型

2a35195a98d183e100015d951354e50f.png

(2)设置参数

1a5564c29e303f11ebc545f079eb643b.png

(12)查看结果

7d5521742259741badaed2fe28f50228.png

最后

以上就是畅快保温杯为你收集整理的matlab awgn函数_simulink通信系统函数介绍及实例的全部内容,希望文章能够帮你解决matlab awgn函数_simulink通信系统函数介绍及实例所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部