![]() |
无线信道的建模与仿真
小弟不才,对于MATLAB和无线信道不是非常了解。
尤其是MATLAB的程序,目前要做一个无线瑞利信道的仿真,就是最后的程序不知道怎么改,马上就要交了,很急!希望懂的大大能帮我下,要求和程序一下放出,希望好心人能把改好的程序写出来或者发我的邮箱!le75756969@163com,万分感谢! 我们的要求是在原有的程序基础上,建立一个瑞利无线信道的仿真,仿真模型是常用的JACK模型。以下发的程序是单径,要求改成是3径,希望懂matlab的高手能帮我修改下程序,在时间上第一条信号延迟0.5us,第2条延迟1.0us,第3条延迟1.5us。就可以了。 -----------------------------------------------------------------------------分割线---------------------------------------------------------------- %%jakes.m %%本程序将一随机信号通过瑞利信道,产生输出 %% clear,clc,close all; Ts=0.02; fmax=2; %最大多普勒频移 Nt=400; %采样序列的长度 sig=j*ones(1,Nt); %信号 t=[0:Nt-1]; %设定信道仿真参数 N0=25; D=1; [u]=JakesRayleigh(N0,D,fmax,Nt,Ts); RecSignal=u.*sig; plot(20*log10(abs(RecSignal))) ------------------------------------------------------------------------分割线------------------------------------------------------------------- %%JakesRayleigh.m %%本函数用Jakes方法产生单径的符合瑞利分布的复随机过程 %% function [u]=JakesRayleigh(N0,D,fmax,M,Ts,fc) %输入参数 % N0 频率不重叠的正弦波个数 % D 方差,可由输入功率得到 % fmax 最大多普勒频移 % M 码片数 %输出参数 % u 输出复信号 % u1 输出复信号的实部 % u2 输出复信号的虚部 %% N=4*N0+2; %Jakes仿真叠加正弦波的总个数 %计算Jakes仿真中的离散多普勒频率fi.n f=zeros(1,N0+1); for n=1:N0, f(n)=fmax*cos(2*pi*n/N); end f(N0+1)=fmax; %计算多普勒增益ci.n %同向分量增益c1.n c1=zeros(1,N0+1); for n=1:N0 c1(n)=D*(2/sqrt(N))*2*cos(pi*n/N0); end c1(N0+1)=D*(2/sqrt(N))*sqrt(2)*cos(pi/4); %正交分量增益c2.n c2=zeros(1,N0+1); for n=1:N0 c2(n)=D*(2/sqrt(N))*2*sin(pi*n/N0); end c2(N0+1)=D*(2/sqrt(N))*sqrt(2)*sin(pi/4); %插入随机相移ph_i,解决Jakes方法的广义平稳过程 n=(1:N0+1); U=rand(size(n)); [x,k]=sort(U); ph_i=2*pi*n(k)/(N0+1); %计算复包络 u1=zeros(1,M); %Rc(t) u2=zeros(1,M); %Rs(t) u=zeros(1,M); %R(t) k=0; %计算Rc(t) k=0; for t=0:Ts:(M-1)*Ts, w1=cos(2*pi*f*t+ph_i); ut1=c1*w1.'; k=k+1; u1(k)=ut1; end; %计算Rs(t) k=0; for t=0:Ts:(M-1)*Ts, w2=cos(2*pi*f*t+ph_i); ut2=c2*w2.'; k=k+1; u2(k)=ut2; end; %计算U(t) k=0; for t=0:Ts:(M-1)*Ts, k=k+1; u(k)=u1(k)-j*u2(k); end; |
所有时间均为北京时间。现在的时间是 13:47。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.