- Added utilities for frequency planning

- Changed freq plane to: Fs 4096, int/dec 8X, Mixers 768
This commit is contained in:
canisio
2026-03-27 12:50:10 -03:00
parent d5bbdfb435
commit 584db6233c
22 changed files with 838 additions and 0 deletions

81
utilities/ntext4.m Normal file
View File

@@ -0,0 +1,81 @@
function t=ntext4(x,y,txt,NVargs)
arguments
x (1,1) double
y (1,1) double
txt string = ""
end
arguments
NVargs.?matlab.graphics.primitive.Text
end
varargin = namedargs2cell(NVargs);
t=text(x,y,txt,varargin{:});
% A variable to distinguish if the User changed the font size or these
% functions.
addprop(t,"ResizingText_changingFontSize");
%The original sizes needed for the calculation
addprop(t,"ResizingText_rFontSize");
addprop(t,"ResizingText_rFontUnits");
addprop(t,"ResizingText_origAxisSize");
% A listener to listen for changes in the axes size
addprop(t,"ResizingText_axisL");
t.ResizingText_changingFontSize = false; % Since we are building it we
% aren't yet changing the size
t.CreateFcn = @(S,~) initializeListeners(S);
initializeListeners(t)
end
function initializeListeners(t)
fontSizeListenerCB(t); % Stores values since we aren't change size.
a = t.Parent;
axisL = listener(a,"SizeChanged", @(~,~) axesListenerCB(t));
t.ResizingText_axisL=axisL;
addlistener(t,"FontSize","PostSet", @(~,~) fontSizeListenerCB(t));
addlistener(t,"Parent","PostSet", @(~,~) parentListenerCB(t));
end
function axesListenerCB(t)
a = t.Parent;
axesUnits = a.Units;
fontUnits = t.FontUnits;
a.Units = "pixels";
t.FontUnits = t.ResizingText_rFontUnits;
rFontSize = t.ResizingText_rFontSize;
axSize = t.ResizingText_origAxisSize;
curhsize = axSize(3);
curvsize = axSize(4);
t.ResizingText_changingFontSize=true;
t.FontSize = min(rFontSize*a.Position(3)/curhsize,rFontSize*a.Position(4)/curvsize);
t.ResizingText_changingFontSize=false;
t.FontUnits = fontUnits;
a.Units = axesUnits;
end
function fontSizeListenerCB(t)
if ~t.ResizingText_changingFontSize
t.ResizingText_rFontSize = t.FontSize;
t.ResizingText_rFontUnits = t.FontUnits;
if ~isempty(t.Parent)
a = t.Parent;
aUnits = a.Units;
a.Units = "pixels";
t.ResizingText_origAxisSize = t.Parent.Position;
a.Units = aUnits;
end
end
end
function parentListenerCB(t)
a = t.Parent;
aUnits = a.Units;
a.Units = "pixels";
t.ResizingText_origAxisSize = t.Parent.Position;
a.Units = aUnits;
end