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

📄 dialog.m

📁 mimo信道容量的matlab的分析mimo信道容量的matlab的分析mimo信道容量的matlab的分析mimo信道容量的matlab的分析
💻 M
字号:
function [M, spacing, d_norm, cluster_number, amplitude_cluster, ...          PAS_type, phi_deg, AS_deg, delta_phi_deg] = dialog(string)% [M, spacing, d_norm, cluster_number, amplitude_cluster,% PAS_type, phi_deg, AS_deg, delta_phi_deg] = dialog(string)%% User interface to the definition of the MIMO radio channel% model. The user is prompted for%% * the number of elements% * the spacing between elements (Uniform Linear Array is assumed)% * the number of impinging clusters of waves% * their relative amplitude% * their half domain definition (in degrees)% * their Power Azimuth Spectrum (PAS) type (Uniform, Gaussian or%   Laplacian)% * their half domain definition (in degrees, usually 180 since the%   PAS is defined over [ AOA-180 degrees, AOA + 180 degrees ]% * the mean angle of incidence (in degrees)% * the Azimuth Spread (AS)%%% STANDARD DISCLAIMER%% CSys is furnishing this item "as is". CSys does not provide any% warranty of the item whatsoever, whether express, implied, or% statutory, including, but not limited to, any warranty of% merchantability or fitness for a particular purpose or any% warranty that the contents of the item will be error-free.%% In no respect shall CSys incur any liability for any damages,% including, but limited to, direct, indirect, special, or% consequential damages arising out of, resulting from, or any way% connected to the use of the item, whether or not based upon% warranty, contract, tort, or otherwise; whether or not injury was% sustained by persons or property or otherwise; and whether or not% loss was sustained from, or arose out of, the results of, the% item, or any services that may be provided by CSys.%% (c) Laurent Schumacher, AAU/TKN/I8/KOM/CPK/CSys - July 2001text = sprintf(['\n*** ',string,' ***\n']);disp(text);M = 0;while (M <1)    M = input('Number of elements? ');end;spacing           = 0;d_norm            = 0;cluster_number    = 0;PAS_type          = 0;delta_phi_deg     = 90;amplitude_cluster = 1;phi_deg           = 0;AS_deg            = 0;if (M>1)  spacing = 0;  while (spacing <= 0)    spacing = input('Normalised spacing between elements (in wavelengths)? ');  end;  d_norm = linspace(0,(M-1)*spacing,M);  cluster_number = 0;  while (cluster_number < 1)    cluster_number = input(['Number of impinging clusters of' ...		    ' waves? ']);  end;  PAS_type = 0;  while ((PAS_type < 1) | (PAS_type > 3))    PAS_type = input(['PAS type (1 = Uniform, 2 = Gaussian,' ...		    ' 3 = Laplacian)? ']);  end;  if (cluster_number == 1)    if ~(PAS_type == 1)        delta_phi_deg = -1;        while (delta_phi_deg <= 0)            delta_phi_deg = input('Half Domain Definition (in degrees)? ');        end;    else        delta_phi_deg = 90;    end;    amplitude_cluster = 1;    phi_deg = input(['Mean Angle of Incidence at ',string,' (in' ...		    ' degrees)? ']);    AS_deg = -1;    while (AS_deg < 0)      AS_deg = input('Azimuth Spread (in degrees)? ');    end;  else    delta_phi_deg     = zeros(1,cluster_number);    amplitude_cluster = zeros(1,cluster_number);    phi_deg           = zeros(1,cluster_number);    AS_deg            = zeros(1,cluster_number);    string = sprintf('\n');    disp(string);    for k = 1:1:cluster_number        if ~(PAS_type == 1)            delta_phi_deg(k) = -1;            while (delta_phi_deg(k) < 0)                delta_phi_deg(k) = input(['Cluster ',num2str(k),'/', ...                        num2str(cluster_number),' : Half' ...                        ' Domain Definition (in degrees)? ']);            end;        else            delta_phi_deg(k) = 90;        end;        amplitude_cluster(k) = -1;        while (amplitude_cluster(k) < 0)            amplitude_cluster(k) = input(['Cluster ',num2str(k),'/', ...		    num2str(cluster_number),' : Linear' ...		    ' Power? ']);        end;        phi_deg(k) = input(['Cluster ',num2str(k),'/', ...		    num2str(cluster_number),' : mean Angle' ...		    ' of Incidence at Node B (in degrees)? ']);        AS_deg(k) = -1;        while (AS_deg(k) < 0)        	AS_deg(k) = input(['Cluster ',num2str(k),'/', ...		    num2str(cluster_number),' : Azimuth' ...		    ' Spread (in degrees)? ']);        end;        string = sprintf('\n');        disp(string);    end;  end;end;

⌨️ 快捷键说明

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