返回信息流对于OFDM系统的仿真,在加噪声的部分一直不太清楚,希望可以得到解答。谢谢!
假设调制之后,所有的星座点都是归一话的,52个有效子载波进行64点的ifft运算,此时我们插入了一些零,假设经过的衰落信道是归一化的,y = h*x+n,在时域加入噪声的时候应该如何处理呢?仿真时假设SNR = Es/No;设r=hx,即r是经过衰落信道之后但是未加噪声的信号。如果使用awgn函数来加入噪声,是该直接写awgn(r, SNR, 10*log10(Es))吗?这个Es大小怎么确定呢?是1吗?(如果认为是调制后符号的能量)
这是一条镜像帖。来源:北邮人论坛 / communications / #13378同步于 2010/4/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
[请教]OFDM仿真中加入噪声的问题
ceiba
2010/4/23镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
如果matlab 加噪声函数 你用不明白的话 可以自己写
这里有两种生成噪声的很简单的方法 你可以参考一下(通过举例子)
=========================================
一般常用方法 用高斯点生成
SNR=[0];
N0=10.^(-(SNR)/10);
deta=sqrt(N0/2);
n1=deta*(randn(1,10000)+1i*randn(1,10000));%比如我加的是10000个点
另外一种不常用的方法
SNR=[0];
sigma=10.^(-(SNR)/20);
n2=sqrt(1/2)*(normrnd(0,sigma,[1,10000])+j*normrnd(0,sigma,[1,10000]));
======================
可以通过下面验证两种方法 生成噪声功率对不对
result1=norm(n1)^2/10000 % 噪声功率 方法1
result2=norm(n2)^2/10000 % 噪声功率 方法2
你说的调用AWGN函数 我还没用过。
另外需要注意的是 ,首先你得把调制以后的符号功率归一成1,比如QPSK QAM等等。这块归一的时候要注意,不出错。 其次信道多径的功率之和保证是1 。
还有一点特别注意就是 ,OFDM里 ,IFFT 或者FFT 不是等功率变换。
应该这样 才是等功率的
发端 ifft(symbol_carrier)*sqrt(64);
収端 fft(receive)/sqrt(64)
上面有不对的地方 后续同学请补充
【 在 ericyosho 的大作中提到: 】
: 加噪声是在接收端加的,你得把在经过信道衰减以后的信号部分的功率算出来,再在这个基础上加个噪声。
比如 SNR=ES/N0 , 只要保证调制符号平均功率是1 每一步处理都是等功率变换 ,就可以直接在经过信道的信号上加噪声就行了。
即使功率归一的信道 ,由于是瑞丽衰落的 ,肯定是上下波动,经过信道的信号功率也会围着1 上下波动,但是从遍历性来说 ,整体功率还是1 。
因此没有必要把 ,经过信道衰减以后的信号部分的功率算出来。
最简单的方法,设ifft变换后的信号为s(n),信号总能量E=sum((|s(n)|.^2)),假设数据总长N,总共传输了N1个符号,则每个符号能量Es=E/N1;以一个OFDM符号为例,
E=|s(0)|.^2+|s(1)|.^2+...+|s(63)|.^2,每个符号能量Es=E/52。
【 在 wenwutianzi 的大作中提到: 】
: 如果matlab 加噪声函数 你用不明白的话 可以自己写
: 这里有两种生成噪声的很简单的方法 你可以参考一下(通过举例子)
: =========================================
: ...................
我想问一下,在生成噪声的第一种方法时为什么是sqrt(N0/2),这里采用QAM的话,Es=1,N0计算出来是噪声功率?,有个1/2的系数是因为产生的是复噪声吗?,第二种方法的1/2的系数也是一样的道理吗?
谢谢!
【 在 jielun5 的大作中提到: 】
: 我想问一下,在生成噪声的第一种方法时为什么是sqrt(N0/2),这里采用QAM的话,Es=1,N0计算出来是噪声功率?,有个1/2的系数是因为产生的是复噪声吗?,第二种方法的1/2的系数也是一样的道理吗?
: 谢谢!
是的