title: IEEE 802.15.6 channel
body: <p>The following code is from the IEEE 802.15.6 standards for wireless body area networks. What is the number of channel realization? How can I choose its value? What is the relation between this value and the length of the input signal to be transmitted through the channel? </p>
  
  <pre><code>function [h, t, n_p] = uwb_hospban_chan_CM4(num_channels, body_direction)
  % Function for getting channel realizations for UWB Hospital BAN channel CM4.
  % Igor Dotlic (dotlic@nict.go.jp) March 2009.
  % Input variables
  % num_channels - number of channel realizations
  % body_direction= 1: 0 deg, 2: 90 deg, 3: 180 deg, 4: 270 deg
  % Output variables
  % h - comlex multipath amplitude responses
  % t - times of multipath arrivals (ns)
  % n_p - number of paths for each channel realization
  % Fixed model parameters
  L_mean = 400; % mean number of arrival paths
  lambda_inv= 0.50125; % mean time between arrivals (ns)
  % Model parameters that depend on body direction
  if body_direction == 1
  Gamma = 44.6346; % (ns)
  k_abs = 5.111739;
  sigma = 7.30;
  elseif body_direction == 2
  Gamma = 54.2868; % (ns)
  k_abs = 4.348859975;
  sigma = 7.08;
  elseif body_direction == 3
  Gamma = 53.4186; % (ns)
  k_abs = 3.638084447;
  sigma = 7.03;
  elseif body_direction == 4
  Gamma = 83.9635; % (ns)
  k_abs = 3.983472211;
  sigma = 7.19;
  end
  % Calculating number of paths
  n_p = poissrnd(L_mean, 1, num_channels);
  for k_chan = 1:num_channels
  n_p(k_chan) = max(n_p(k_chan), 1);
  end
  % Maximum number of paths
  n_p_max = max(n_p);
  % Allocating memory for channel realizations
  h = zeros(n_p_max, num_channels);
  t = zeros(n_p_max, num_channels);
  % Calculating path arrival times
  t_dif = exprnd(lambda_inv, num_channels, n_p_max-1);
  for k_chan = 1:num_channels
  t(2:n_p(k_chan),k_chan) = cumsum(t_dif(k_chan, 1:n_p(k_chan)-1));
  end
  % Calculating path levels
  for k_chan = 1:num_channels
  h(1,k_chan) = exp(i*rand*2*pi)*sqrt(10^(sigma*randn/10));
  % Paths 2 onwards
  for k_p = 2:n_p(k_chan)
  h(k_p, k_chan) = exp(i*rand*2*pi)*...
  sqrt(exp(-t(k_p,k_chan)/Gamma-k_abs)*10^(sigma*randn/10));
  end
  % Normalizing current PDP realization (may be commented out)
  h(:,k_chan) = h(:,k_chan)/norm(h(:,k_chan));
  end
  </code></pre>