KLM model
Version 2.0.8 (20.5 KB) by
Andrew Draudt
Implementation of the model published by Krimholtz, Leedom and Matthae (1970), for 2-d piezo-ceramic transducers
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 (2026). 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 LinuxTags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 2.0.8 | added several missing files |
||
| 2.0.7 | added missing file my6db.m |
||
| 2.0.6 | added missing function "myzerocrossings.m" |
||
| 2.0.5 | included one more missing file (myBandwidth.m) |
||
| 2.0.4 | added missing file |
||
| 2.0.3 | Changed some wording and organization to make easier to understand. |
||
| 2.0.2 | changed name, to match my previous app (not in ABCD format), to make it more findable |
||
| 2.0.1 | typos |
||
| 2.0.0 | added required files |
||
| 1.0.0 |
