关于“加性高斯白噪声 AWGN”的m代码分析
如何定性、定量地模拟AWGN的问题: (1)
经典的AWGN信道下的二元信号相关检测理论,以建立在WGN的概率前提基础上,从概率论的角度讨论了AWGN对系统BER的影响,得到的是理论的结果即解析结果。 (2)几种常用的AWGN的matlab代码方法总结如下: (i) Tx_signal_power = var(tx_signal); linear_SNR = 10^( SNR /10) ; % SNR in dB noise_sigma = Tx_signal_power / linear_SNR; % Delta^2 noise_scale_factor = sqrt(noise_sigma) ; noise = randn(1, length(Tx_data) )*noise_scale_factor; % 以上代码是完全从功率比率的角度去考虑实现的。 (ii) Received_Signal = awgn(Tx_Signal,snr_in_dB,'measured'); % 以上代码仍然是完全从功率比率的角度去考虑实现的,且利用了matlab内置函数awgn。 (iii) % 用在直扩系统中的代码段 snr_in_db = m; % 定义信噪比大小 snr = 10^(snr_in_db/10) ; noise_sgma = 1; sig_eng = noise_sgma^2 * snr ; % 得到信号功率 chip_eng = sig_eng/lc; % 每个码片对应的功率 ... ... trans_sig(j,:) = sqrt(2*each_chip) * repeated_data .* pn_seq(j,1+(i-1)*lc:i*lc) ; ... ... noise = noise_sgma * randn(1,lc) ; % in a symbol rec_sig = trans + noise; % 以上代码还是完全从功率比率的角度去考虑实现的,与前面所叙述的不同的是信号功率被“分配”到了每个码片上。 (iv) (3)
下面的Mente Carlo仿真提供了实际的验证。 (4)
产生高斯白噪声,且其幅度服从瑞利分布的方法 高斯变量的产生可以用BoxMuller方法,两个gaussian相加就得到了Rayleigh分布 产生实部和虚部相互独立的高斯序列。以Matlab语言为例就是: x=randn(n,1)+i*randn(n,1); 可以用hist(abs(x),m)来画, m越大越精细,一般取几百足以 若只想画包络,可以用plot(hist(abs(x),m)) (5) 信噪比(S/N)是指传输信号的平均功率与加性噪声的平均功率之比,载噪比(C/N)指已经调制的信号的平均功率与加性噪声的平均功率之比,它们都以对数的方式来计算,单位为dB。 对同一个传输系统而言,载噪比要比信噪比大,两者之间相差一个载波功率。当然载波功率与传输信号功率相比通常都是很小的,因而载噪比与信噪比在数值上十分接近。 在调制传输系统中,一般采用载噪比指标;而在基带传输系统中,一般采用信噪比指标。 在数字通信系统中,我们经常会遇到表示信号与噪声间强弱关系的参数---Eb/N0,为什么要采用Eb/N0?它与载噪比之间有什么关系?由于数字调制技术的种类非常繁多,它们所实现的频谱效率可从1bit/s/Hz到10bit/s/Hz甚至更高。频谱效率高的通信系统,传输信息的能力较强,但传输可靠性较差;频谱效率低的通信系统,传输信息的能力较弱,但传输可靠性较高。因此要判定一个通信系统的优劣,必须从频谱效率和可靠性两个方面全面进行比较,即将有效性与可靠性综合起来。C/N---BER关系曲线仅能反映通信系统的可靠性,那么有没有一种参数能够全面反映通信系统的有效性和可靠性呢?或者说能够在相同的频谱效率的基础上反映出通信系统的可靠性呢?有,这就是Eb/N0---BER关系曲线。Eb/N0的含义是这样的:Eb代表平均到每个比特上的信号能量,N0代表噪声的功率谱密度。我们知道不同的数字调制技术之所以会具有不同的频谱效率是因为它们的调制符号所映射的比特数不同,如按理想低通信号波形计算,一个由k个比特映射生成的调制符号所实现的频谱效率就为kbit/s/Hz。因此如果以比特为单位计算信号与噪声间的强弱关系的话,就可以消除频谱效率的影响,即在频谱效率相同的基础上比较各种调制技术的可靠性了。下面我们定量地说明一下Eb/N0与C/N之间的关系。数字信号是由符号构成的,因此信号的平均功率
(C)就是符号的平均功率。设调制符号的周期为T,为简化问题,我们暂时抛开滚降系数的影响,按理想低通信号波形计算,则调制符号的带宽为1/T(低通带宽为1/(2T))。假设一个调制符号由k个比特映射生成,则:
一个调制符号的平均能量 = 符号平均功率×符号周期=C×T 一个比特的平均能量Eb = 调制符号平均能量/符号所包含的比特数=C×T/k 一噪声的功率谱密度 = 噪声的平均功率/符号带宽=N/(1/T)
因此,可见Eb/N0就等于C/N除以k,它去除了与频谱效率相关的因素k的影响。Eb/N0与C/N在实际应用中都经常被使用。Eb/N0可以综合反映系统的性能,但不直观,因为Eb和N0不是系统中可以直接测得的参数,必须通过运算得出;而C/N可以通过测量直接得到,但较为片面。因此当需要直接了解系统的可靠性时,一般使用C/N;而当需要横向比较不同系统的性能时,一般使用Eb/N0。

您当前的位置: