Matlab通信仿真系列 您所在的位置:网站首页 awgn函数的作用 Matlab通信仿真系列

Matlab通信仿真系列

2024-07-10 04:50| 来源: 网络整理| 查看: 265

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 在这里插入图片描述 本节目录

一、加性高斯白噪声信道(AWGN) 1、awgn(x,snr) 2、awgn(x,snr,sigpower) 3、awgn(x,snr,'measured') 4、awgn(x,snr,…,state) 5、randn函数 6、各类函数Matlab仿真验证 二、加性高斯白噪声信道(AWGN)的Matlab仿真 三、Matlab源码 1、各类函数Matlab仿真源码 2、加性高斯白噪声信道(AWGN)的Matlab仿真源码

本节内容 信道是将来自发送端的信号传送到接收端的物理媒质,可以分为有线信道和无线信道。信道的质量影响信号的接收和解调,体现在两个方面:一是信号在实际信道中传输时,由于信道特性不理想会引起信号波形的失真;二是信道中存在各种噪声会干扰信号的传输。 信道通常可以分为加性高斯白噪声信道AWGN、多径瑞利Rayleigh衰落信道和莱斯Rician衰落信道。 一、加性高斯白噪声信道(AWGN) 加性高斯白噪声(Additive White Gaussian Noise,AWGN)是最常见的一种噪声,存在与各种传输媒质中。具体表现为信号围绕平均值的一种随机波动过程,均值为0,方差是噪声功率的大小。 Matlab提供了agwn函数来实现在输入信号中叠加一定强度的高斯白噪声信号,噪声信号的强度由输入参数确定。 1、awgn(x,snr) 函数awgn(x,snr),把加性高斯白噪声叠加到输入信号x中,snr以dB的形式制定噪声的功率。若信号x的功率假设为0dBW,噪声的功率实际上为-snrdBW。 2、awgn(x,snr,sigpower) 函数awgn(x,snr,sigpower),把加性高斯白噪声叠加到输入信号x中,snr以dBW的形式制定噪声的功率,输入信号的功率为sigpower,单位dBW。 3、awgn(x,snr,‘measured’) awgn(x,snr,‘measured’),首先计算输入x信号的功率,按照snr添加相应功率的高斯白噪声。 4、awgn(x,snr,…,state) Matlab可以将随机数种子设置为state,其中…支持sigpower或’measured’。随机数是根据一定算法产生的伪随机数,把产生的伪随机数的初始条件(即随机数种子)设为一致,也就是前后两次调用state相同,则产生的加性高斯白噪声结果也一致。 5、randn函数 randn(n),返还一个n行n列的随机矩阵,其中每一行和每一列都服从均值为0,方差为1的正态分布。 randn(m,n),返还一个m行n列的随机矩阵,其中每一行和每一列都服从均值为0,方差为1的正态分布。 randn(‘state’,seed)把随机数种子设定为seed,相同的state产生相同的随机数序列。 6、各类函数Matlab仿真验证 在这里插入图片描述

信号x和叠加awgn的信号y1 在这里插入图片描述

信号x和叠加awgn的信号y2 在这里插入图片描述

信号x和叠加awgn的信号y3 在这里插入图片描述

随机数序列y4,y5,y6 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

二、加性高斯白噪声信道(AWGN)的Matlab仿真

matlab代码示例: 对正交相移键控(QPDK)调制的基带数字通信系统 通过AWGN信号的误符号率SER和误比特率BER进行仿真验证, 发射端信息比特采用Gray编码, 基带脉冲采用矩阵脉冲, 仿真每个脉冲的抽样点数为10, 接收端采用匹配滤波器进行相干解调。

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

三、Matlab源码 1、各类函数Matlab仿真源码

clear all; clc; t=0:0.001:10; x=sin(2*pi*t); snr=20; y1=awgn(x,snr); y2=awgn(x,snr,10); y3=awgn(x,snr,'measured'); x1=ones(1,10); y4=awgn(x1,snr,'measured',5); y5=awgn(x1,snr,'measured',10); y6=awgn(x1,snr,'measured',5); subplot(2,1,1); plot(t,x); title('信号x'); axis([0 10 -2 2]); subplot(2,1,2); plot(t,y1); title('叠加awgn的信号y1'); axis([0 10 -2 2]); figure; subplot(2,1,1); plot(t,x); title('信号x'); axis([0 10 -2 2]); subplot(2,1,2); plot(t,y2); title('叠加awgn的信号y2'); axis([0 10 -2 2]); figure; subplot(2,1,1); plot(t,x); title('信号x'); axis([0 10 -2 2]); subplot(2,1,2); plot(t,y3); title('叠加awgn的信号y3'); axis([0 10 -2 2]);

2、加性高斯白噪声信道(AWGN)的Matlab仿真源码

clear all; clc; %矩阵脉冲的抽样点数 n_samp=10; %传输的符合数 num_symb=200000; %QPDK的符合类型数 M=4; %SNR的范围 SNR=-3:3; %Gray编码格式 grayencod=[0 1 3 2] for ii=1:length(SNR) %产生发送符合 msg=randsrc(1,num_symb,[0:3]) %进行Gray编码映射 msg_gr=grayencod(msg+1); %进行QPSK调制 msg_tx=pskmod(msg_gr,M); %矩形脉冲成形 msg_tx=rectpulse(msg_tx,n_samp); %通过awgn信道 msg_rx=awgn(msg_tx,SNR(ii),'measured'); %匹配滤波相关解调 msg_rx_down=intdump(msg_rx,n_samp); %QPSK解调 msg_gr_demod=pskdemod(msg_rx_down,M); [dummp graydecod]=sort(grayencod); graydecod=graydecod-1; %Gray编码逆映射 msg_demod=graydecod(msg_gr_demod+1); %计算BER [error_bit BER(ii)]=biterr(msg,msg_demod,log2(M)); %计算SER [error_sym SER(ii)]=symerr(msg,msg_demod); end %画出发送信号的星座图 scatterplot(msg_tx(1:100)); title('发射信号星座图'); xlabel('同相分量'); ylabel('正交分量'); %画出接收信号的星座图 scatterplot(msg_rx(1:100)); title('接收信号星座图'); xlabel('同相分量'); ylabel('正交分量'); figure; %画出BER和SER随SNR变换的曲线 semilogy(SNR,BER,'-r*',SNR,SER,'-r*') legend('BER','SER'); title('QPSK在awgn信道下的性能'); xlabel('信噪比(dB)'); ylabel('误符号率和误比特率');


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有