信噪比(SNR)定义
AWGN信道模型
![计算信号功率的方程式](https://i0.wp.com/www.gaussianwaves.com/gaussianwaves/wp-content/uploads/2020/07/signal-power-equation.png?resize=196%2C73&ssl=1)
![awgn信道所需噪声功率谱密度方程](https://i0.wp.com/www.gaussianwaves.com/gaussianwaves/wp-content/uploads/2020/07/equation-for-required-noise-power-spectral-density-for-awgn-channel.png?resize=386%2C63&ssl=1)
![awgn信道的噪声方差方程](https://i0.wp.com/www.gaussianwaves.com/gaussianwaves/wp-content/uploads/2020/07/equation-for-noise-variance-for-awgn-channel.png?resize=92%2C59&ssl=1)
![实和复加性高斯白噪声信道的噪声矢量方程](https://i0.wp.com/www.gaussianwaves.com/gaussianwaves/wp-content/uploads/2020/07/equation-for-noise-vector-for-real-and-complex-additive-white-Gaussian-noise-channel.png?resize=551%2C78&ssl=1)
![awgn噪声信道方程](https://i0.wp.com/www.gaussianwaves.com/gaussianwaves/wp-content/uploads/2020/07/equation-for-awgn-noise-channel.png?resize=98%2C20&ssl=1)
Matlab代码
%作者-Mathuranathan Viswanathan(gaussianwaves.com %这段代码是本书的一部分:使用Matlab的无线通信系统和使用Matlab的数字调制。 函数[r,n,N0]=add_awgn_noise(s,SNRdB,L) %将AWGN添加到给定信号的功能 %[r,n,N0]=add_awgn_noise(s,SNRdB)将awgn噪声矢量添加到信号 %“s”生成指定SNR的%结果信号矢量“r” %单位dB。 它还返回添加到 %信号“s”和噪声的谱密度N0 % %[r,n,N0]=add_awgn_noise(s,SNRdB,L)将awgn噪声矢量添加到 %信号“s”生成指定的结果信号向量“r” %信噪比(单位:dB)。 参数“L”指定使用的过采样率 %在系统中(用于波形模拟)。 它还返回噪音 %矢量“n”添加到信号“s”和频谱 %添加的噪声密度N0 s_temp=秒; 如果是列,s=s.'; 结束;% 返回与's'相同的结果 γ=10?(SNRdB/10);% 信噪比到线性标度 如果nargin==2,L=1; end%如果未给定第三个参数,请将其设置为1 如果是isvector, P=L*总和(abs.ˆ2)/长度;% 矢量中的实际功率 对于MFSK等多维信号,else% P=L*总和(总和(abs.ˆ2))/长度;% 如果s是矩阵[MxN] 结束 N0=P/伽马;% 求噪声谱密度 如果(以色列), n=平方(N0/2)*randn(大小);% 计算噪声 其他的 n=sqrt(N0/2)*(兰登(大小)+1i*randn(大小));% 计算出的噪音 结束 r=s+n;% 接收到的信号 如果是列(s_temp),r=r.'; 结束;% 以原始格式返回r作为s 结束
Python代码
#作者-Mathuranathan Viswanathan(gaussianwaves.com #此代码是《使用Python的数字调制》一书的一部分 从numpy导入sum,isrealobj,sqrt 从numpy.random导入standard_normal 定义awgn(s,SNRdB,L=1): """ AWGN信道 将AWGN噪声添加到输入信号。 该函数将AWGN噪声向量添加到信号“s”,以生成指定SNR(dB)的结果信号向量“r”。 它还可以 返回添加到信号“s”的噪声矢量“n”和添加的噪声的功率谱密度N0 参数: s:输入/传输信号矢量 SNRdB:接收信号的期望信噪比(单位:dB) L:过采样因子(适用于波形模拟)默认L=1。 退货: r:接收信号矢量(r=s+n) """ 伽马=10**(SNRdB/10)#信噪比到线性刻度 如果s.ndim==1:#如果s是一维向量 P=L*sum(abs(s)**2)/len(s)#矢量中的实际功率 else:#多维信号,如MFSK P=L*总和(总和(abs(s)**2))/len(s)#如果s是矩阵[MxN] N0=P/gamma#求噪声谱密度 if isrealobj(s):#检查输入是否为实/复杂对象类型 n=sqrt(N0/2)*standard_normal(s.shape)#计算的噪声 其他: n=平方(N0/2)*(标准_规范(s.shape)+1j*标准_规范 r=s+n#接收信号 返回r
AWGN信道中数字调制的理论符号错误率
性能仿真的统一仿真模型
|
工具书类
作者的书籍
![]() | ![]() | ![]() |