瑞利信道.docx
《瑞利信道.docx》由会员分享,可在线阅读,更多相关《瑞利信道.docx(15页珍藏版)》请在冰豆网上搜索。
![瑞利信道.docx](https://file1.bdocx.com/fileroot1/2023-1/6/cf25ae7e-dad2-456f-9ad7-88dbae9012a2/cf25ae7e-dad2-456f-9ad7-88dbae9012a21.gif)
瑞利信道
1、题目要求
(1)利用图5.24(英文)完成频域法Rayleigh信道仿真;
(2)在同一个图形中与Rayleigh理论计算值进行比较;
(3)统计出均值、方差和均方根值;
(4)以上述均方根值为门限,统计出LCR和AFD以及BER。
2、瑞利信号衰落模型
2.1瑞利理论基础
在移动无线信道中,瑞利分布是最常见的用于描述平坦衰落信号接收包络或独立多径分量接收包络统计时变特性的一种分布类型。
瑞利分布的概率密度函数为:
是包络检波之前所接收电压信号的均方根值,
是包络检波之前所接收信号包络的时间平均功率。
瑞利分布的均值
为:
(1)
瑞利分布的方差为:
(2)
瑞利信号的均方根为:
(3)
2.2瑞利衰落仿真模型
基带瑞利衰落仿真器频域实现
Matlab仿真步骤:
(1)首先确定接收机速率,载波频率,多普勒频移和
的N点;
(2)根据书上多普勒平移公式,计算出
的正频率部分频域值,对其取反,合成得到全频域的
(3)在matlab生成两个独立的复数高斯噪声:
对于噪声一,在时域信号产生N点高斯噪声信号,对该号作快速傅里叶变换(FFT)后得到复数高斯信号频谱;同样的方法再合成高斯噪声二;
(4)将多普勒功率谱分别与复数高斯噪声信号相乘,再求快速傅里叶反变换(IFFT),得到时域信号;
(5)对IFFT后的信号求模后分别平方相加,最后开方后即得到瑞利衰落信号。
3、瑞利信号衰落仿真
通过上面的仿真步骤,结合仿真器结构图,运用Matlab进行瑞利信道衰落仿真(代码件附录1)图:
步骤
(2)计算出
的正频率部分频域值,对其取反,合成得到全频域的
得到的多普勒功频谱如下:
(3)在matlab合成两个独立的复数高斯噪声,对于噪声一,在时域信号产生N点高斯噪声信号,对该号作快速傅里叶变换(FFT)后得到复数高斯信号频谱;同样的方法再合成高斯噪声二;最终得到的高斯噪声结果如下:
(5)将多普勒功率谱分别于高斯噪声信号相乘,得到如下结果:
(6)再求快速傅里叶反变换(IFFT),得到如下结果:
(7)对IFFT后的信号求模后分别平方,结果如下:
(8)对(7)得到的信号相加,最后开方后即得到瑞利衰落信号,分别如下图所示:
(10)用db表示瑞利信道;
接收机120km/h时,瑞利信道衰落包络
(2)在同一个图形中与Rayleigh理论计算值进行比较;
红色线条表示仿真的瑞利概率密度,黑色线条表示理论概率密度
在本次仿真中,通过将瑞利概率密度理论值在matlab数值化后绘图(
,rms=1)再绘制出仿真概率密度来对比。
通过对比两条曲线可以发现,仿真的结果基本接近理论计算,只有当rms在0.5~1的区间内仿真结果与理论计算有一部分差异。
(3)统计出均值、方差和均方根值;
通过matlab仿真和统计统计(代码见附录2)
瑞利仿真分布均值为:
瑞利仿真的方差为:
瑞利仿真的均方根为:
(4)以上述均方根值为门限,统计出LCR和AFD以及BER。
将门限值设置为0.0015V,通过matlab统计出如下的电平分布图
根据电平通过率(LCR)的定义:
瑞利衰落包络归一化为本地rms电平后,沿正向穿过某一指定电平的期望速率。
对瑞利信号的包络进行斜率为正,并且高于电平门限的值进行统计,然后求出每一点间隔的时间,结合二者就可以求出电平通过率(LCR)。
因此,根据代码(见附录2),通过matlab可以计算出电平通过率(LCR)图片为:
得到的值为:
根据平均衰落持续时间(AFD)定义:
接收信号低于指定电平的平均时间段值。
其定义公式为
:
根据AFD的定义,运用matlab(代码见附录2)可以计算出平均衰落时间(AFD)为:
根据误比特率(BER)的定义:
,经过推导发现,其误比特率可以用门限通过率定义,其为:
,其中数据速率可以根据以下方法求出:
首先计算出码元总数(即总频域点数),再求出总时间(
),最后根据
即可得到数据速率,然后可以求出:
:
附录1:
clc;
clear;
fc=900*10.^6;%载波频率
v1=120*1000/3600;%接收机速率[km/h]
c=300*10^6;%光速
fm=fc*(v1/c);
N=128*100;
%产生多普勒功率谱
gap=2*fm/(N-1);
T=1/gap;
sf0=1.5/(pi*fm);
forn=1:
(N-2)/2
sf(n)=1.5/(pi*fm*sqrt(1-(n*gap/fm)^2));
end
SEf=[fliplr(sf),sf0,sf];%合成全频段的多普勒功率谱
figure
(1);
plot(SEf);
title('多普勒功率谱');
xlabel('f');
ylabel('size');
grid;
%产生两个正态分布噪声源
Gauss_time1=randn(1,N-1);
Gauss_time2=randn(1,N-1);
GaussN1=fft(Gauss_time1);
GaussN2=fft(Gauss_time2);
%产生瑞利衰落信道
x=ifft(sqrt(SEf).*GaussN1);
y=ifft(sqrt(SEf).*GaussN2);
rayleigh_amp=sqrt(abs(x).^2+abs(y).^2);
rayleigh_db=20*log10(rayleigh_amp);%用dB表示瑞利信号
figure
(2);
plot(rayleigh_db);
%axis([0140-10020]);
title('瑞利信号衰落');
xlabel('N');
ylabel('dB');
grid;
figure(3)
r=sqrt(0.5*(real(Gauss_time1).^2+real(Gauss_time2).^2));
step=0.1;range=0:
step:
3;
h=hist(r,range);
fr_approx=h/(step*sum(h));
fr=(range/0.5).*exp(-range.^2);
plot(range,fr_approx,'r',range,fr,'k');
title('瑞利概率密度');
xlabel('rms');
ylabel('p(r)');
grid;
figure(4)
subplot(2,2,1)
plot(Gauss_time1);
title('时域高斯信号1');
xlabel('N');
ylabel('V');
grid;
subplot(2,2,2)
plot(Gauss_time2);
title('时域高斯信号2');
xlabel('N');
ylabel('V');
grid;
subplot(2,2,3)
plot(GaussN1);
title('频域复数高斯信号1');
xlabel('实部');
ylabel('虚部');
grid;
subplot(2,2,4)
plot(GaussN2);
title('频域复数高斯信号2');
xlabel('实部');
ylabel('虚部');
grid;
figure(5)
subplot(2,1,1)
plot(sqrt(SEf).*GaussN1);
title('高斯噪声与多普勒功率谱相乘1');
xlabel('实部');
ylabel('虚部');
grid;
subplot(2,1,2)
plot(sqrt(SEf).*GaussN2);
title('高斯噪声与多普勒功率谱相乘2');
xlabel('实部');
ylabel('虚部');
grid;
figure(6)
subplot(2,1,1)
plot(x);
title('IFFT1');
xlabel('实部');
ylabel('虚部');
grid;
subplot(2,1,2)
plot(y);
title('IFFT1');
xlabel('实部');
ylabel('虚部');
grid;
figure(7)
subplot(2,1,1)
plot(abs(x).^2);
title('求模平方1');
xlabel('N');
ylabel('V');
grid;
subplot(2,1,2)
plot(abs(y).^2);
title('求模平方2');
xlabel('N');
ylabel('V');
grid;
figure(8)
subplot(2,1,1)
plot(abs(x).^2+abs(y).^2);
title('平方后相加');
xlabel('N');
ylabel('V');
grid;
subplot(2,1,2)
plot(sqrt(abs(x).^2+abs(y).^2));
title('相加后开方');
xlabel('N');
ylabel('V');
grid;
附录2:
%求均值、方差、均方差
sum1=0;
sum2=0;
sum3=0;
forn=1:
length(rayleigh_amp)
sum1=sum1+rayleigh_amp(n);
end
ave=sum1/length(rayleigh_amp)%求瑞利衰减均值
forn=1:
length(rayleigh_amp)
sum2=sum2+rayleigh_amp(n)^2;
sum3=sum3+(rayleigh_amp(n)-ave)^2;
end
z=sum2/length(rayleigh_amp);
fc=sum3/length(rayleigh_amp)%求出瑞利衰减方差
rms=sqrt(z)%求出瑞利衰减均方差
%求电平通过率、平均衰落持续时间和误比特率
i=0;
j=0;
e=0;
q=0;
forn=1:
length(rayleigh_amp)-1
if(((rayleigh_amp(n+1)-rayleigh_amp(n))>=0)&(rayleigh_amp(n+1)>=rms)&(rayleigh_amp(n)<=rms))
i=i+1;
end
end
LCR=i/T%求出电平通过率
form=1:
length(fr_approx)
if(rayleigh_amp(m)<=rms)
e=fr_approx(m)+e;
end
end
AFD=e/LCR%求出平均衰落持续时间
bps=length(rayleigh_amp)/T%计算数据速率
BER=LCR/bps%求出误比特率