Does this error indicate that I need the Phased Array System Toolbox to execute this calculation?

I have created a custom antenna using by importing Az/El patterns for a directional antenna. I am attempting to use it to perform a signal strength calculation and receive the following error:
>> ss_LR = sigstrength(rxs, radarHilltxsite, "longley-rice")';
Unable to resolve the name 'phased.internal.Directivity'.
Error in rxsite/sigstrength (line 252)
txDirectivity = phased.internal.Directivity('Sensor',tx.Antenna);
The antenna properties are:
antenna =
phased.CustomAntennaElement with properties:
FrequencyVector: [2.2000e+09 2.3000e+09]
FrequencyResponse: [0 0]
PatternCoordinateSystem: 'az-el'
AzimuthAngles: [-180 -178 -176 -174 -172 -170 -168 -166 -164 -162 -160 -158 -156 -154 -152 -150 -148 -146 -144 … ]
ElevationAngles: [-90 -88 -86 -84 -82 -80 -78 -76 -74 -72 -70 -68 -66 -64 -62 -60 -58 -56 -54 -52 -50 -48 -46 -44 … ]
SpecifyPolarizationPattern: false
MagnitudePattern: [91×181 double]
PhasePattern: [181×361 double]
MatchArrayNormal: true
I would like to confirm that this error indicates that I need to purchase the Phased Array System Toolkit in order to execute the signal stregnth calculation using the imported antenna data.

Respuestas (1)

8 comentarios

Thank you. That is a very helpful command!
And was the toolbox necessary in your case ?
I should have the required tooboxes, so I am still working to debug.
The antenna pattern (gain) appears to display properly when using the patternCustom function, but when I create a transmit site using the antenna object the code throws the error in the sigstrength function at line 252 where it is determining whether to use the directivity pattern or the gain pattern. Obviously, I must not be correctly specifying which to choose somewhere along the way. It seems that it may be trying to access the directivity, which hasn't been specified.
Running the recommended command:
[fList,pList] = matlab.codetools.requiredFilesAndProducts('RHtoBoatCustom.m')
results in the following product list:
{'MATLAB' }
{'Antenna Toolbox'}
However, my program terminates whenever it attempts to call internal functions starting with 'phased.internal.' For example,
Unable to resolve the name 'phased.internal.Directivity'.
I have traced the execution to the point at which the call is attempted and verified that the variables being passed are valid, but the function itself cannot apparently be called.
Based on other user's questions and answers, it seems to indicate that I do need the Phased Array Toolbox, even though the requiredFilesAndProducts command does not indicate so.
Most probably, MATLAB can only classify calls to toolbox functions using "matlab.codetools.requiredFilesAndProducts" if these toolboxes are at least installed (not necessarily licenced). Do you have the Phased Array System Toolbox and its functions installed ?
I suggest you send your code to TMW Technical Support. They will be able to tell you reliably which toolboxes you need.
I do not have that toolbox. I have the following licensed and installed:
Antenna Toolbox
Communications Toolbox
Signal Processing Toolbox
Thank you for the guidance. I will contact TMW Technical Support since I would like to avoid asking my company for the Phased Array System Toolbox and then find that I need additional toolboxes. It is sort of like peeling an onion!
But if you have code for a problem in MATLAB, the person who coded it should know which toolboxes he/she used, shouldn't he/she ?
In my case, the Antenna Toolbox allows me to import measured antenna data and create a 3D antenna radiation pattern using the patternFromSlices function. I then use that pattern to create an antenna object with the phased.CustomAntennaElement function. Then I create a transmit site using the txsite function in the communications toolbox, based on the antenna object I have created. The failure then occurs when I try to visualize the txsite antenna pattern on the siteviewer geoplot using the pattern function. It also occurs when I try to use the sigstrength function to compute the power level received from the txsite.
Note that all of this works if I use an antenna object generated using the reflectorParabolic function in the Antenna Toolbox.

Iniciar sesión para comentar.

Preguntada:

Ted
el 12 de En. de 2024

Comentada:

Ted
el 16 de En. de 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by