Multi wall (COST231) Signal Propagation Models + Python Code

Estimates the propagation loss using COST231 & free-space path loss models
Updated 21 Mar 2019

View License

Estimates the path loss using free space, and COST231 models. Provides an estimation map of signal strength.
This a 2D line of sight method, that accounts for the individual walls between the transmitter and receiver. The COST231 is similar to that of Motley-Keenan. Different attenuation factor can be assigned to each wall only using the blueprint image. This is achieved by applying image processing techniques to identify all the walls therefore structure's CAD model is not required. All it needs is an image of the blueprint of the structure (an example of such picture is provided). The blueprint needs to be simple and all the walls should be in straight lines to be detected by the Hough transform (no curves).

Similar thing is done with Python. Except he python code allows for unlimited number of transmitters, and it has a built in least square optimization. If you have practical measurements it will find the attenuation of the wall using least square method. I managed to run the python code in Anaconda as well but I originally wrote the code using Pycharm, there is a readme file inside the Python submission please have a look at that. The code isn't very stable in Anaconda its either the tkinter or matplotlib causing some issues sometimes! Python code also accepts CSV files, examples images and a CSV file (simple one) provided for.

Python code was not previously stable in Anaconda, I made some changes to it and it is running now! So I have provided 2 versions, 1 that runs in Pycharm, and one that runs in Anaconda for sure and they are in separate folders.

The codes both MATLAB and Python do the similar thing and you can compare between the two languages if you wish to.
All the best

Cite As

Salaheddin Hosseinzadeh (2024). Multi wall (COST231) Signal Propagation Models + Python Code (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Call MATLAB from Python in Help Center and MATLAB Answers

Inspired by: Image overlay, Bresenham optimized for Matlab

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Anaconda compatible code added

- File submission description corrected.