⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alawcom.m

📁 matlab数字信号处理代码
💻 M
字号:
function y= Alawcom(x,A,V)
%《数字信号处理教程——MATLAB释义与实现》子程序
% A律压缩器子程序
% 电子工业出版社出版  陈怀琛编著 2004年9月
%
% y= Alawcom(x,A,V)
% ------------------------------------
% y 为输出序列
% x 为输入序列
% A的值通常取87.56;
% V指输入量的最大范围。
%
if nargin<3 | V < max(abs(x))   % 若只有两个输入变元或V小于x的最大值
    V=max(abs(x));              % 令V等于x的最大值
end
lnAp1 = log(A) + 1;             % 计算中用的中间变量
VdA   = V / A;                  % 计算中用的中间变量
% A-律压缩器分成两端,用不同方程赋值 
indx = find(abs(x) <= VdA);     % 满足此条件用下列方程
if ~isempty(indx)
    y(indx) = A / lnAp1 * abs(x(indx)) .* sign(x(indx));
end
indx = find(abs(x) >  VdA);     % 满足此条件用另一个方程
if ~isempty(indx)
    y(indx) = V / lnAp1 * (1 + log(abs(x(indx)) / VdA)) .* sign(x(indx));
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -