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

📄 simwidebandkernel.m

📁 雷达信号处理、或阵列信号处理中能够用上的重要的matlab工具箱——阵列信号处理工具箱
💻 M
📖 第 1 页 / 共 2 页
字号:
function [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(antenna, timeFilter, carrierFreq, bandwidth, noTime, noTrials, propSpeed, srcType, srcSignals, srcPowers, srcDoas, srcRanges, srcCorr, notUsed, noiseType, noisePower, noiseCorr, orthSig, corrMethod, testParam)%SIMWIDEBANDKERNEL Simulates wide-band radio signals received by array antennas.%%--------%Synopsis:%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(antenna, %    timeFilter, carrierFreq, bandwidth, noTime, noTrials, propSpeed,%    srcType, srcSignals, srcPowers, srcDoas, srcRanges, srcCorr, [], %    noiseType, noisePower, noiseCorr, orthSig, corrMethod)%%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(antenna, %    timeFilter, carrierFreq, {lowOffFreq, highOffFreq}, noTime, noTrials, %    propSpeed, srcType, srcSignals, srcPowers, srcDoas, srcRanges,%    {srcCorrSrc, srcCorrTime}, [], noiseType, noisePower, %    {noiseCorrChan, noiseCorrTime}, orthSig, corrMethod)%%Description:%  Simulator for wide-band radio signals received by array antennas.%%Output and Input:%  sigOut (RxRadarSigT): Simulated radio signal. As the sample time in%    the waveform, sampleTime =  1/(freqHigh-freqLow) is chosen, which%    is equal to the reciprocal of the absolute bandwidth.%    As the wavelength, carrierWavelength = propSpeed / carrierFreq is %    chosen.%  sourceSigTime (CxMatrixT): Complex envelope of the simulated source%    signals in the time domain in a (noSrc, noTime) complex matrix.%  noiseSigTime (CxMatrixT): Complex envelope of the simulated noise%    signals in the time domain in a (???, ???) complex matrix.%%  antenna (AntDefT): Antenna definition for the receiver.%  carrierFreq [D](RealScalarT): Carrier frequency fRF [Hz]. This can be%    specified to zero for baseband signals.%  bandwidth [D](RealScalarT): Absolute bandwidth B [Hz]. It will be%    centered around the carrier frequency fRF. The frequency region will%    be (fRF - B/2) <= f <= (fRF - B/2). The condition (B < 2*fRF) must be %    satisfied. How does this correspond with "baseband signals" in the%    help text of "carrierFreq"?%  lowOffFreq [D](RealScalarT): Low frequency offset fBL [Hz]. The condition %    (fRF - fBL) > 0 must be satisfied. How does this correspond with %    "baseband signals" in the help text of "carrierFreq"?%  highOffFreq [D](RealScalarT): High frequency offset fBH [Hz]. The frequency %    region will be (fRF + fBL) <= f <= (fRF + fBH).%  noTime [D](IntScalarT): Number of time samples to simulate of the signals.%  noTrials [D](IntScalarT): Not implemented.%  propSpeed [D](RealScalarT): Propagation speed of the waves [m/s].%    Default = speed of light in free space.%  srcType (StringT): Type of source signals. See below for sections about%    each type.%    = 'det': Deterministic Signals.%    = 'randn': Normally distributed random amplitudes.%    = 'rand': Uniformly distributed random amplitudes. Not implemented.%    = 'nosrc': No source signals are simulated and added.%  srcSignals [D](CxMatrixT): Complex envelope of the source time signals%    in a (noTime, noSrc)-matrix. noSrc = number of sources.%  srcPowers [D](RealVectorT): Source signal powers in a (noSrc x 1) vector.%    Where are the powers measured?%  srcDoas [D](Vector of DoaT): Source signal direction-of-arrival.%  srcRanges [D](): Source signal ranges. Not implemented.%  srcCorr [D](): Not implemented.%  srcCorrSrc [D](CxMatrixT): Correlation matrix for the correlation between%    different signalsources.%  srcCorrTime [D](CxMatrixT): Not implemented.%  noiseType [D](StringT): Type of noise signals. See below for sections%    about each type.%    = 'randn': Normally distributed random amplitudes.%    = 'rand': Uniformly distributed random amplitudes. Not implemented.%    = 'nonoise': No noise is simulated and added.%  noisePower [D](RealVectorT):%  noiseCorr [D](): Not implemented.%  noiseCorrChan [D](CxMatrixT): Correlation matrix for the correlation of%    the noise between different antenna channels. Not implemented.%  noiseCorrTime [D](CxMatrixT): Not implemented.%  orthSig [D](BoolT): 1= orthogonalization of the signals. 0 = no%    orthogonalization (default). Implementation not finnished.%  corrMethod [D](BoolT): Implementation not finnished.%  testParam (): For debugging only.%%--------%Signal Source Simulation:%--------%Deterministic Signal Sources.%Synopsis:%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(antenna, %    [], carrierFreq, bandwidth, noTime, [], propSpeed,%    'det', srcSignals, srcPowers, srcDoas, srcRanges, [], [], %    noiseType, noisePower, noiseCorr, orthSig, corrMethod)%%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(antenna, %    [], carrierFreq, {lowOffFreq, highOffFreq}, noTime, [], %    propSpeed, 'det', srcSignals, srcPowers, srcDoas, srcRanges,%    [], [], noiseType, noisePower, %    {noiseCorrChan, noiseCorrTime}, orthSig, corrMethod)%%Output and Input:%%Description:%  As the source signals is the contents of the input parameter "srcSignals" %  used. These signals are considered to be deterministic. The number of%  time samples to simulate is given by the length of the signals in the%  input parameter "srcSignals".%%--------%Normally Distributed Random Signal Sources.%Synopsis:%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(antenna, %    [], carrierFreq, bandwidth, noTime, [], propSpeed,%    'randn', [], srcPowers, srcDoas, srcRanges, srcCorr, [], %    noiseType, noisePower, noiseCorr, orthSig, corrMethod)%%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(antenna, %    [], carrierFreq, {lowOffFreq, highOffFreq}, noTime, [], %    propSpeed, 'randn', srcSignals, srcPowers, srcDoas, srcRanges,%    {srcCorrSrc, srcCorrTime}, [], noiseType, noisePower, %    {noiseCorrChan, noiseCorrTime}, orthSig, corrMethod)%%Output and Input:%%Description:%  The source signals are simulated as complex normally (gaussian)%  distributed random signals.%%--------%No Source Signals.%Synopsis:%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(antenna, %    [], carrierFreq, bandwidth, noTime, [], propSpeed,%    'nosrc', [], [], [], [], [], [], %    noiseType, noisePower, noiseCorr, orthSig, corrMethod)%%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(antenna, %    [], carrierFreq, {lowOffFreq, highOffFreq}, noTime, [], %    propSpeed, 'nosrc', [], [], [], [],%    [], [], noiseType, noisePower, %    {noiseCorrChan, noiseCorrTime}, orthSig, corrMethod)%%Output and Input:%%Description:%  No source signals are simulated and added.%%--------%Noise Simulation:%--------%Normally Distributed Noise.%Synopsis:%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(...,%    'randn', noisePower, noiseCorr,...)%%Output and Input:%%Description:%  The noise is simulated as a complex normally (gaussian)%  distributed random signal.%%--------%No Noise.%Synopsis:%  [sigOut, sourceSigTime, noiseSigTime] = simwidebandkernel(...,%    'nonoise', noisePower, noiseCorr,...)%%Output and Input:%%Description:%  No noise is simulated and added.%%--------%Notations:%  Data type names are shown in parentheses and they start with a capital%  letter and end with a capital T. Data type definitions can be found in [1]%  or by "help dbtdata".%  [D] = This parameter can be omitted and then a default value is used.%  When the [D]-input parameter is not the last used in the call, it must be%  given the value [], i.e. an empty matrix.%  ... = There can be more parameters. They are explained under respective%  metod or choice.%%Data Types:%  AntDefT: Antenna definition. See [1] and help text of function "defant".%  BoolT: An integer scalar. False = 0, True = 1.%  CxMatrixT: 2D complex matrix.%  IntScalarT: Integer scalar. Complex integers are not allowed.%  RealScalarT: Real scalar.%  RealVectorT: Real vector. Vectors are (n x 1)-matrices.%  RxRadarSigT: : Stores a radio or radar signal and related information.%    See [1] and help text of function "RxRadarSigT".%  StringT: String.%%Examples:%  See the example programs "wideex1", "wideex2" and "wideex3".%%Software Quality:%  (About what is done to ascertain software quality. What tests are done.)%  This function is not tested yet.%%Known Bugs:%  Should it be possible to also specify the distance to the signals sources?%%References:%  [1]: Bj鰎klund S.: "DBT, A MATLAB Toolbox for Radar Signal Processing.%    Reference Guide", FOA-D--9x-00xxx-408--SE, To be published.%  [2]: Bj鰎klund S.: "A MATLAB implementation of a Simulator for Wideband%    Radio Signals Received by Array Antennas", FOA-D--99-00435-504--SE,%    March 1999.%%See Also:%  compsim4, simradarsig, wideex1, wideex2, wideex3%   *  DBT, A Matlab Toolbox for Radar Signal Processing  *% (c) FOA 1994-2000. See the file dbtright.m for copyright notice.%%  Start        : 981211 Svante Bj鰎klund (svabj).%  Latest change: $Date: 2000/10/16 15:39:35 $ $Author: svabj $.%  $Revision: 1.13 $% *****************************************************************************% ----------------------------------------------------------------------- %% Handle input parameters% ----------------------------------------------------------------------- %% ****************** Add missing input parameters ******************% These staments can be removed without affecting the operation of this% function.arginNo=1;if (nargin < arginNo)  error('DBT-Error: To few input parameters.')endarginNo = arginNo +1;if (nargin < arginNo)  timeFilter = [];endarginNo = arginNo +1;if (nargin < arginNo)  carrierFreq = [];endarginNo = arginNo +1;if (nargin < arginNo)  bandwidth = [];endarginNo = arginNo +1;if (nargin < arginNo)  noTime = [];endarginNo = arginNo +1;if (nargin < arginNo)  noTrials = [];endarginNo = arginNo +1;if (nargin < arginNo)  propSpeed = [];endarginNo = arginNo +1;if (nargin < arginNo)  srcType = [];endarginNo = arginNo +1;if (nargin < arginNo)  srcSignals = [];endarginNo = arginNo +1;if (nargin < arginNo)  srcPowers = [];endarginNo = arginNo +1;if (nargin < arginNo)  srcDoas = [];endarginNo = arginNo +1;if (nargin < arginNo)  srcRanges = [];endarginNo = arginNo +1;if (nargin < arginNo)  srcCorr = [];endarginNo = arginNo +1;if (nargin < arginNo)  notUsed = [];endarginNo = arginNo +1;if (nargin < arginNo)  noiseType = [];endarginNo = arginNo +1;if (nargin < arginNo)  noisePower = [];endarginNo = arginNo +1;if (nargin < arginNo)  noiseCorr = [];endarginNo = arginNo +1;if (nargin < arginNo)  orthSig = [];endarginNo = arginNo +1;if (nargin < arginNo)  corrMethod = [];endarginNo = arginNo +1;if (nargin < arginNo)  testParam = [];endarginNo = arginNo +1;if (0)% *************** Evalute the list extraParam of keywords  ***************% These the value of this keywords are assigned to the local variables with% the same name as the keywords. The use of keywords is to make calls to% this function simpler.if (nargin >= arginNo)  lenExtra = length(extraParam);  if (mod(lenExtra,2) ~= 0), error('DBT-Error: Value missing.'),end%if  for n = 1:2:length(extraParam)    eval([extraParam{n} '= extraParam{n+1};' ]);  end%for nendarginNo = arginNo +1;end%if (0)% ****************** Default values ******************% These staments can be removed without affecting the operation of this% function.if isempty(antenna)  antenna = [];end%ifif isempty(timeFilter)  timeFilter = [];end%ifif isempty(carrierFreq)  carrierFreq = 0;end%ifif isempty(bandwidth)  bandwidth = 0;end%ifif isempty(noTime)  noTime = 128;end%ifif isempty(noTrials)  noTrials = 1;end%if

⌨️ 快捷键说明

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