毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 计算机安全 >> 正文

无线信道模拟设计 第16页

更新时间:2014-6-29:  来源:毕业论文

无线信道模拟设计 第16页
4. 单径频率仿真法:
%RayJakes.m
%采用频率方法产生具有Jakes功率谱的瑞利衰落过程
%先将一组不相关的高斯分布样本进行适合的滤波,从而得到具有目标功率谱密度的高斯
%随机过程,然后利用两个复高斯随机过程的包络产生锐利衰落过程
clear
fd=100
impw=jakes_filter(fd);
fs=16*fd;
ts=1/fs;
time=[1*ts:ts:128*ts];
figure(1)
subplot(2,1,1)
stem(time,impw,'.');
grid;('冲激响应')
[h,f]=linear_fft(impw,128,ts);
subplot(2,1,2)
plot(f,abs(h.*h));
grid;
xlabel('频率');
ylabel('PSK')
%输入为高斯白噪声,求滤波器输出的功率谱密度
x=randn(1,1024);
y=filter(impw,1,x);
[output_psd ff]=log_psd(y,1024,ts);
figure(2)
subplot(2,1,1)
plot(ff,output_psd);
grid;
axis([-500 500 -50 0])
xlabel('频率');
ylabel('PSD')
%输入为复高斯白噪声,求滤波器输出的包络
z=randn(1,1024)+i*randn(1,1024);
zz=filter(impw,1,z);
time=(0.0:ts:1024*ts);
%归一化输出
zz=zz/max(max(abs(zz)));
subplot(2,1,2)
plot(time(161:480),10*log10(abs(zz(161:480))));
axis([0.1 0.3 -20 0])
xlabel('时间');
ylabel('幅度(dB)')
%程序结束
%%%%%%%%%%%%%%%%%
%File_C7:Jakes_filter.m
function[impw]=jakes_filter(fd)
%Jakes滤波器的FIR实现(128points)
n=512;
nn=2*n;     %nn是FFT长度
fs=0:fd/64:fd;  %抽样频率=16*fd
H=zeros(1,n);  %初始化H(f)
for k=1:(n/8+1)    %H(f)的pdf(k=1:65)
    jpsd(k)=1/((1-((fs(k))/fd)^2+eps)^0.5);
   if(jpsd(k))>1000
         jpsd(k)=1000;
     end
H(k)=jpsd(k)^0.5;  %H的前65个点
end
for k=1:n
     H(n+k)=H(n+1-k);  %产生负频率
end
[inv,time]=linear_fft(H,nn,fd/64); %傅立叶反变换
imp=real(inv(450:577));               %中间128个点
impw=imp.*hanning(128)';              %采用hanning窗
energy=sum(impw.^2);                  %计算能量
impw=impw/(energy^0.5);               %归一化
%程序结束
%%%%%%%%%%%%%
%File_C7:linear_fft.m
function[fftx,freq]=linear_fft(x,n,ts)
y=zeros(1,n);
for k=1:n
     freq(k)=(k-1-(n/2))/(n*ts);
     y(k)=x(k)*((-1.0)^(k+1));
end
fftx=fft(y)/n;
%程序结束
%%%%%%%%%%%%%%%
%File_C7:log_psd.m
function[logpsd,freq,ptotal,pmax]=log_psd(x,n,ts)
y=zeros(1,n);
h=waitbar(0,'For Loop in PSD Calculation');
for k=1:n
     freq(k)=(k-1-(n/2))/(n*ts);
     y(k)=x(k)*((-1.0)^k);
     waitbar(k/n)
end
%该函数取n(必须为偶数)个时域样本点(实数或复数),通过式(fft/n)^2得到PSD
%双边带谱是通过对PSD进行平移得到的
v=fft(y)/n;
psd=abs(v).^2;
pmax=max(psd);
ptotal=sum(psd);
logpsd=10*log10(psd/pmax);   %利用式10*log10(psd/max(psd)),PSD被归一化
%低于-60dB被设定等于-60dB
for k=1:n
     if(logpsd(k)<-60.0)
         logpsd(k)=-60.0;
     end
end
close(h)
%程序结束
        
5. 频率选择性信道的仿真程序:
% main.m
clear
logEbNo=[0 15 25];
M=2;
Kdb=-inf;
%Kdb=5;
z=psk_rice(logEbNo,M,Kdb);
%%%%%%%%%%%%%%%%%%%%
unction BER=psk_rice(logEbNo,M,Kdb)
k=log2(M);
EbNolin=10.^(logEbNo/10);
Fd=1;
Fs=1;
Nit=100000;
Ns=1000;
Tstop=100;
for it_snr=1:length(EbNolin);
    nstd=sqrt(1/(2*k*EbNolin(it_snr)));
    bit_err=0;
    for it=1:Nit
        a=randint(Ns,1,M);
        s=dmodce(a,Fd,Fs,'psk',M);
        r=rice_fading(Kdb,Ns,1);
        v_r=s.*r';
        v=v_r+nstd*(randn(Ns,1)+...
            j*randn(Ns,1));
        z=ddemodce(v,Fd,Fs,'psk',M);
        errors=biterr(a,z);
        bit_err=bit_err + errors;
        if bit_err>=Tstop
            break
        end
    end
    BER(it_snr)=bit_err/(it*Ns*k);
end
semilogy(logEbNo,BER,'k');%axis([2 8 10^(-1.9) 10^(-1.1)]);
legend('Kdb=-inf','Kdb=5');
xlabel('EbNo(dB)');
ylabel('BER');
grid on;
hold on;
%%%%%%%%%%%%%%%%%%%%
function r=rice_fading(Kdb,Ns,Mi)
Mi=1;
K=10^(Kdb/10);
const=1/(2*(K+1));
x=randn(1,Ns);
y=randn(1,Ns);
r=sqrt(const*((x+sqrt(2*K)).^2+y.^2));
rt=zeros(1,Mi*length(r));
ki=1;
for i=1:length(r)
    rt(ki:i*Mi)=r(i);
    ki=ki+Mi;
end
r=rt;
. 大尺度衰落程序
clear all
f=1600;
d=1:0.4:20;
hb=100;
hm=5;
a=3.2*[log(11.75*hm)]^2-4.97;
LM0=69.55+26.16*log(f)-13.82*log(hb)-a+[44.9-6.55*log(hb)]*log(d*1000);
figure(1)
LM1=28.6+35*log(d*1000);
plot(d,LM0,'ro',d,LM1,'go');legend('LM0','LM1');
axis([1,20,150,450]);
xlabel(' 传输距离');
ylabel(' 传输损耗 ');

 << 上一页  [11] [12] [13] [14] [15] [16] [17] 下一页

无线信道模拟设计 第16页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。