KLM model

Implementation of the model published by Krimholtz, Leedom and Matthae (1970), for 2-d piezo-ceramic transducers
Updated 4 May 2024

View License

function res=KLMPiezo(varargin)
% varargin = model file, var1, var2 (for stepping).
% Model piezo-ceramic transducers.
% Implimentation of the model published by Krimholtz, Leedom and Matthae
% (1970, for 2-d piezo-ceramic transducers
% This uses ABCD matrix approach implimented with the Two-Port package found in
% the matlab file exchange. You need this toolbox from Matlab FIle Exchange: "Linear 2-port Circuit
% Simulator by Brett Bymaster.
% This is a lumped-element model, which you could add to you circuit models
% for transmitter and receivers, by cascading in their ABCD matrices.
% "layers" and "backlayers" are arrays of "material" structures, each with fields:
% velocity, acoustic impedance "z", thickness. The last back layer is infinite in length.
% The infinite front z however is entered as a separate variable "front"
% Can do 2-way (pulse-echo)
% The first section lists material properties. You can easily add more. For piezo materials I have
% so far only defined pzt4, K81, and a few of my composites. In model
% building, you refer to these materials by the tem.type field.
% User inputs:
% 1. what to plot. Set to "1" if you want this plot. Can do frequency
% plots or time plots (with a given voltage excitation)
% 2. The model, consisting of design center freq, crystal material, facing
% and backing layer materials and thickness etc. It will save your model as a struct (model.mat), which
% you can later pass to this fcn as a param if you want (varargin).
% 3. misc inputs, like number of points in calculation, and source impedance.
% For electrical network, I haven't implimented coax cable yet.
% 8/8/16 can't handle case of no facing yet, so just use thin or invisible layer for that case.
% 10/17/16 loss in facing (and thus backing) doesn't seem to do anything.

Cite As

Andrew Draudt (2024). KLM model (https://www.mathworks.com/matlabcentral/fileexchange/155777-klm-model), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2023b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

added missing file


Changed some wording and organization to make easier to understand.


changed name, to match my previous app (not in ABCD format), to make it more findable




added required files