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

📄 mul_channel.m

📁 信道估计程序
💻 M
字号:
function output_sig=mul_channel(input_sig,num,a,delay,fd)
%input_sig输入信号矩阵,加了cp后的信号,大小为NL×(子载波个数+cp长度lp)[144*120];
%num多径数;
%var_pow各径相对主径的平均功率,单位dB;
%delay各径延时,单位s;
%fd最大dopple频率;
%t_interval为离散信道抽样时间间隔,等于OFDM符号长度/(子载波个数+cp长度lp);
%output_sig为经过多径信道的输出信号矢量
%counter各径间隔记录
%count_begin本次产生信道开始记录的初始位置
T=1;
X7=[];
X7=reshape(input_sig,1,144*120);
h=zeros(1,144);
hh=[];
    for k=1:num
        %deta=[zeros(1,d(k)-1),1,zeros(1,carrier_count-d(k))]
        h1=a(k)*exp(j*((2*pi*T*fd*delay(k)/144)));
        %h1=a(k)*exp(j*((2*pi*T*fd*d(k)/144)));
        hh=[hh,h1];
    end
    h(d+1)=hh;
%noise=randn(1,length(X7))+j.*randn(1,length(X7));
%--------------------------------------------------------

channel1=zeros(size(X7));
channel1(1+d(1):length(X7))=hh(1)*X7(1:length(X7)-d(1));
channel2=zeros(size(X7));
channel2(1+d(2):length(X7))=hh(2)*X7(1:length(X7)-d(2));
channel3=zeros(size(X7));
channel3(1+d(3):length(X7))=hh(3)*X7(1:length(X7)-d(3));
channel4=zeros(size(X7));
channel4(1+d(4):length(X7))=hh(4)*X7(1:length(X7)-d(4));
channel5=zeros(size(X7));
channel5(1+d(5):length(X7))=hh(5)*X7(1:length(X7)-d(5));
%channel6=zeros(size(X7));
%channel6(1+d(6):length(X7))=hh(6)*X7(1:length(X7)-d(6));

%---------------------------------------------------------------
XX=X7+channel1+channel2+channel3+channel4;
output_sig=reshape(XX,120,144).';

⌨️ 快捷键说明

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