⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 casestudy2.m

📁 midamble码的生成和基于midamble码的td-scdma信道估计
💻 M
字号:
% 3GPP CHANNEL SIMULATION%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A=['B';'2';'A';'C';'4';'2';'0';'F';'7';'C';'8';'D';'E';'B';'F';'A';'6';'9';'5';'0';'5';'9';'8';'1';'B';'C';'D';'0';'2';'8';'C';'3'];B=hex2dec(A);C=dec2bin(B);D=reshape(C,128,1);m0=str2num(D);for i=1:128    if m0(i)==0        m0(i)=-1;    end    m0(i)=j^i.*m0(i);endP=128;Lm=144;Kmax=16;W=16;im=Lm+(Kmax-1).*W;for i=1:im    if i<129        m(i)=m0(i);    elseif i>256        m(i)=m0(i-2*P);    else        m(i)=m0(i-P);    endend% here we let k=8K=8;if K>8    W=8;else    W=16;endLm=144;for k=1:K    for i=1:Lm        g(i,k)=m(i+(Kmax-k).*W);    endend%转置得8*144矩阵g=g.';%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 使用3GPP channel model中的case II,Vehicular,6 of PathsL=6;% Relative Path Power (dB) 为 0,-1,-9,-10,-15,-20p0=[0.0,-1.0,-9.0,-10.0,-15.0,-20.0];% (dB)转换为十进制for i=1:6    p1(i)=10^(p0(i)./10);end% 归一化得pk p2=sum(p1);for i=1:6    pk(i)=p1(i)./p2;end%求pn% round(x)取最接近x的整数;ceil(x)取大于x的最小整数;floor(x)取小于x的最大的整数a=2510*(10^(-9));B=1.28*(10^6);W1=ceil(a.*B);t=[0,310*(10^(-9)),710*(10^(-9)),1090*(10^(-9)),1730*(10^(-9)),2510*(10^(-9))];pn=zeros(1,W1+1);%pn(1*5)for i=1:6    b(i)=t(i).*B;    n(i)=floor(b(i));    pn(n(i)+1)=pn(n(i)+1)+((n(i)+1)-t(i).*B).*pk(i);    pn(n(i)+2)=pn(n(i)+2)+(t(i).*B-n(i)).*pk(i);end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Cn,k - N(un,pn)%生成瑞利信道k=8;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%此处可取k=1,2,4,8%W1=4,W1+1=5%对Cnk产生实部和虚部Cnk=zeros(k,5);for p=1:k    for q=1:5        x1=random('Normal',0,pn(q)/2,1,1);        x2=random('Normal',0,pn(q)/2,1,1);        Cnk(p,q)=x1+j*x2;    endend%卷积,g144维,Cnk5维,卷积后e148维e=zeros(1,148);for a=1:k    ek=conv(Cnk(a,:),g(a,:));    e=e+ek;end%取后128个即可,128+16=144可消除midanble码对数据块的影响,做IFFT,h128维e1=e(:,(W+1):(W+128));m1=m(:,1:128);h=ifft(fft(e1)./fft(m1));%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%估计值h与计算值h1对比,实部与虚部分别对比%k=1,2,4,8时,W=16,应把5维h1也扩为16维,再变换为与h一样的(1*128)%CAT(DIM,A,B) concatenates the arrays,CAT(2,A,B) is the same as [A,B]d=zeros(k,11);h1=cat(2,Cnk,d);h1=h1.';h1=reshape(h1,1,128);subplot(2,2,1);stem(1:W,real(h(:,1:W)));subplot(2,2,3);stem(1:W,real(h1(:,1:W)));subplot(2,2,2);stem(1:W,imag(h(:,1:W)));subplot(2,2,4);stem(1:W,imag(h1(:,1:W)));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -