Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57063
  • 博文数量: 16
  • 博客积分: 611
  • 博客等级: 上士
  • 技术积分: 160
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-06 13:26
文章分类

全部博文(16)

文章存档

2011年(3)

2009年(13)

我的朋友

分类: 嵌入式

2009-08-27 18:32:49

xiaoxi 发表于 2009-4-28 10:07

Es/No与Eb/No的关系

请问,我在仿真编码调制中遇到个问题,在加噪声时要对已调信号symbol加噪声,需要把Eb/No换算成Es/No,请问怎么换算呢,讨论比特数和符号数的关系时,这个符号数就是调制后的符号数,可比特数指哪个呢,是原来的信息比特数,还是加4个尾比特后的,如果有速率匹配还是匹配后的呢,看到有个公式code_rate = data_bits_per_frame/symbols_per_frame;EsNo = EbNo*code_rate;这里的data_bits_per_frame指什么呢,谢谢。

zhl_gs1980 发表于 2009-4-28 10:23

Es/No = Eb/No + 10*log10(k)% Es/No= SNR per bit
where, k = log2(M);%k bits per symbol, M= no of symbols

Es/No = Eb/No + 10*log10(k)- 10*log10(nsamp);
%The term,-10*log10(nsamp), is used to scale the noise power with the oversampling if sampler is used

In both the above cases it is assumed that units are in dB

zhl_gs1980 发表于 2009-4-28 10:25

本人在做WCDMA系统的仿真,我是在接收端求接收信号的平均功率,然后根据所需的信噪比加噪声。不知道这种方法跟一般文献上的Eb/N0有什么不同,我见文献上大多用的都是Eb/N0,谢谢大家的指教!
--------------------------------------------------------------------------------


Eb/N0也是这么求取的,你用的是SNR,而EbN0把SNR更细化到Eb上了,很多因素要考虑,如调制方式,编码速率,ofdm中的cp长度,等等

其实所有SNR求法原理一样
只不过这里要涉及信号传输率及信道带宽
在清华版的通信原理上有这个现成的公式

1。在无码间串绕时,假设接收端的噪声是高斯白(n0),经接收滤波器后变为窄带高斯白,如果滤波器等效带宽为B,则噪声为N0=n0×B;然后拿信号平均功率除就是信噪比。
2。 对扩频,设信号比特能量为Eb,Jav是噪声平均功率,那么J0=Jav/W可得到噪声功率谱密度,W是扩频后的带宽。
此时信噪比多用Eb/J0表示。其实它和1。中是一样的,不过其间有个换算关系:Eb/N0=(Pav/Rb)/(Jav/W)=(W/Rb)*(Pav/Jav),这就显出来了干扰容限的概念了。

这个概念是不是可以这样理解:单位信噪比。常用的S/N,是指总的信号功率与总的噪声功率之比,而Eb/No是指单个比特的信号功率与噪声功率谱密度之比。即一个比特的信号功率与一个Hz内的噪声功率之比。

严格地讲, E 是指信号的 (平均) 能量,而不是信号的 (平均) 功率。能量是功率在时间上的积分,所以能量与时间的长度有关,而(平均) 功率则与时间无关。

在 M-进制系统中, 一个符号的时间长度是一个比特的时间长度的 log2(M) 倍。所以一个符号的能量是一个比特的能量的 log2(M) 倍。因此,在谈到信号 (平均) 能量时,必须说清楚究竟是指一个比特的能量 (常用 Eb 表示) 呢,还是指一个符号的能量 (常用 Es 表示) 。而一个符号的平均功率则与一个比特的平均功率是相同的。

通常, Eb/No 是指一个比特的信号平均能量与白噪声的功率谱密度之比。这里,No 是指噪声的功率谱密度,而不是噪声的功率。值得注意的是,在用 MATLAB 中的函数产生高斯白噪声时,用户只能指定噪声的功率,而不能直接指定噪声的功率谱密度。不少人往往将其混淆而搞错。需要当心。

在matlab仿真WCDMA系统时,在你想得到信噪比(比如7DB)上,再使噪声恶化干扰容限个DB就行了

请教大家,通常认为N0=2*sgma^2,这是为什么呢?这里2*sgma^2指的是噪声功率吗?由给定的Eb/N0求出sgma的值,在matlab仿真时是不是这样加噪声,
r=r+sgma*randn()+i*sgma*randn(); ashelly1978


要搞清楚几个概念:(对实噪声信号而言)
时宽(T),带宽(B),功率(P或sigma^2),双边(注:指正负频率,非双边带)功率谱密度(N0/2),能量(E)

关系是:E=PT,P=(N0/2)*2B=N0*B
功率谱密度是信号功率在信号持续频谱带宽上的密度,也就是说功率谱密度对频谱的积分就是功率,也就是相关函数在零点的取值。

根据关系式,得到以下模型

理想(无限)白噪声:T无限,B无限,N0有限常数,P无限(是个delta冲击),E无限
带限白噪声:T无限,B有限,N0有限常数,P有限,E无限

信噪比:信号与噪声功率之比,必须要求信号功率和噪声功率均是有限值才有意义,
即Ps/Pn=Ps/(N0*B),Ps是信号功率
符号信噪比:一个符号周期内,信号能量与噪声能量比,
即Ps*Ts/(N0*B*Ts)=Es/(N0*B*Ts),Es是信号一个符号的平均能量,Ts是符号周期,在理想信道下,带宽B就是采样速率1/Ts,符号信噪比=Es/N0。
比特信噪比:一个比特周期内,信号能量与噪声能量比,
即(Ps*Ts/log2(M))/(N0*B*Ts)=(Es/log2(M))/N0=Eb/N0,Eb是信号一个比特的平均能量

可以看出,信号是完全淹没在理想白噪声(功率无限)中的,即信噪比为0,这也就是为什么要用接收机滤波的原因。我们研究的任何问题,都是对带限白噪声进行的,即便问题中没有严格说明也必然隐含说明了,例如模拟系统就是接收机带宽,数字系统就是采样率/2。

对高斯过程而言,功率就是方差,因此我们可以容易的定义噪声功率。而要谈功率谱密度,就必然要在某个带宽下定义。

回ashelly1978:
一般如果认为N0=2*sgma^2,这里的N0是复信号功率,非功率谱密度
与比特信噪比中的Eb/N0中的N0不是一回事。

估计你是看到类似复码元同步采样序列模型
r(k)=sqrt(Es)*a(k)+w(k),a(k)是功率归一化的传输符号序列
此时相当于码元间隔和速率已经归一化了,因此能量和功率在数值上是一样的,在一个码元周期内,Es就是符号的平均能量(功率),N0就是噪声的平均能量(功率),Es/N0就是符号信噪比,而N0在大小上也既是功率,又是功率谱密度。
同样,Eb/N0也是相应理解了。

“符号信噪比:一个符号周期内,信号能量与噪声能量比,
即Ps*Ts/(N0*B*Ts)=Es/(N0*B*Ts),Es是信号一个符号的平均能量,Ts是符号周期,在理想信道下,带宽B就是采样速率1/Ts,符号信噪比=Es/N0。
比特信噪比:一个比特周期内,信号能量与噪声能量比,
即(Ps*Ts/log2(M))/(N0*B*Ts)=(Es/log2(M))/N0=Eb/N0,Eb是信号一个比特的平均能量”

我记得按照定义符号信噪比和比特信噪比都应为信号平均功率和噪声平均功率得比,当然你说能量比大家更能理解也结果也不错,但我觉得还是忠于基本定义然后扩展为了。

通常将信噪比用每比特的所携带的能量除以噪声功率谱密度来表示,即Eb/N0。对于基带信号,我们定义:
Eb/N0=A*A*T/N0=A*A/(N0*R)
这里A为信号的幅度(通常取归一化值),R=1/T是信号的数据率。

再请问各位,如果我在接收端收到的是多径信号的和,此时是不是还是可以先求出SNR,然后换算成Eb/N0?

在CDMA仿真中,如何根据SNR往数据上加噪声?


我觉得ashelly1978这样加噪声:r=r+sgma*randn()+i*sgma*randn() 是正确的,但噪声功率应该是sgma^2而不是2*sgma^2,根据自相关函数和功率谱之间的关系应该有sgma^2=N0/2(双边功率谱密度)。

上面所有的帖子都没有提到扩频后Ec与Eb的关系。

请教大家:
Ecno 和Ebno之间是什么关系?
我的理解,QPSK下,Es=2*Eb,而一个符号扩频成为16chip,那么是否表示Eb=8*Ec?如下程序中:
EcNo= 3;
power=0;
for kk=1:864
temp=y(kk);
power=power+temp*temp';
end;
power_s = power/864;
temp=10^(snr/10);
sigma=sqrt(power_s/temp);
y(:) = y(:) + normrnd(0,sigma,1,864) + j*normrnd(0,sigma,1,864);
在这种情况下,Eb/No = ?


这个Eb/N0中的Eb到底指的是信息比特的能量还是编码后的比特的呢。我看到《数字通信》一书的图下面均表明的是SNR per bit,好像指的是编码后比特的。但是看到很多程序里,好像又指的是信息比特的,一直觉得很糊涂。
具体而言,若知道一码元的能量Es,采用rate=1/2码率卷积码,qpsk调制(m=2),那么加噪声时
sigma是等于sigma=sqrt(0.5*Es/(m*rate*EbN0))呢,还是
sigma=sqrt(0.5*Es/(m*EbN0))呢,请各位指点一下

我只是DPSK调制,只是输入1和-1;那Eb=??
顺便说一下,
r=r+sgma*randn()+i*sgma*randn() 是正确的,噪声功率应该是2*sgma^2,
因为噪声的实部和虚部的功率分别是sgma^2.
例如在MATLAB中,v=sqrt(0.5)*crandn; 产生的是功率为1的噪声.

liluxiang 发表于 2009-4-28 14:17

不错

xiaoshao 发表于 2009-4-28 15:40

这些讨论很有意义,都是基本概念的东西。但从实际的应用来看,最后数字信号的判定都是积分判定,即检测信号中使用的是积分的概念,所以就不是瞬时值,这样当然是和时间相关的。这样,无论采用何种调制方式,在一定的时间段内判定信号的SNR是相干检测的基础,所以实际上是能量的检测,那么SNR中的S和N就是能量的关系了。功率谱密度为N0,根据白噪声的物理定义,是一定温度下,波尔兹曼常数下的1Hz的功率谱密度为-174(常温)dBm,那就可以求出带宽内的功率为-174+10lgB的能量。该能量因为是白,所以在考虑的任何系统中,理论上仅仅随带宽大小而不同,是一个常数。叠加上信号,就表示了最后的接收信号的合成,当然在一定范围内积分,因为波形是线性叠加,所以对信号的检测就转换为测到的能量信号了。但因为是白噪声,所以在时域进行的积分,其噪声能量会随时间积分的长短而变化,即受限于系统的带宽,也就是受限于系统的带宽。

worker3 发表于 2009-4-28 15:43

Eb是指编码前的信息bit,ES是指调制后的信号能量,是指编码前信息bit 在符号中的能量,假设编码前bit能量为1,那么符号中所包含的编码前的bit数,也就是符号中的信息数,就是符号即ES的能量。
阅读(9152) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~