gusucode.com > IEEE802.11a协议的无线通信仿真代码与资料 > 802.11a/channel.m
%**********channel**********% function [I_out,Q_out]=channel(I_signal,Q_signal,channel_counter,EbN0) %**additive white gaussian noise**% if channel_counter==0 noise_var=0.5*sum(I_signal.*I_signal+Q_signal.*Q_signal)/length(I_signal)*10^(-EbN0/10); I_out=sqrt(noise_var)*randn(1,length(I_signal)); Q_out=sqrt(noise_var)*randn(1,length(Q_signal)); I_out=I_signal+I_out; Q_out=Q_signal+Q_out; %*******Ray Model*******% elseif channel_counter==1 N=6; nn=4*N+2; fd=150; dt=5e-8; tt=0:dt:(2*8e-6+36*4e-6)+3*dt; con_i=sqrt(2/(N+1)); con_q=sqrt(2/N); I_channel=0; Q_channel=0; for n=1:N I_channel=I_channel+sin(pi*n/N)*cos(2*pi*fd*cos(2*pi*n/nn)*tt); Q_channel=Q_channel+sin(pi*n/N)*cos(2*pi*fd*cos(2*pi*n/nn)*tt); end I_channel=con_i*(I_channel+1/sqrt(2)*cos(2*pi*fd*tt)); Q_channel=con_q*Q_channel; I_out=I_channel.*I_signal-Q_channel.*Q_signal; Q_out=I_channel.*Q_signal+Q_channel.*I_signal; end