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

📄 uq_mdpnt.m

📁 u率pcm编码,还有误差分析,通信原理实验的一个例子
💻 M
字号:
function dist=uq_mdpnt(funfcn,b,n,delta,tol,p1,p2,p3)
%UQ_DIST  返回均匀量化器的失真,量化点设在质心.
%  DIST=UQ_MDDPNT(FUNFCN,B,C,N,DELTA,TOL,P1,P2,P3)
%  funfcn=在m_file中给出的信源密度函数,
%最多有三个参数:p1,p2,p3.
%[-b,b]=信源密度函数的定义域.
%n=级数的数目.
%delta=级数的大小
%p1,p2,p3=输入函数的参数
%dist=失真.
%tol=相对误差

if(2*b<delta*(n-1))
    error('Too many levels for this range.');return
end

args=[];
for j=1:nargin-5
    args=[args,',p',int2str(j)];
end
args=[args,')']

a(1)=-b;
a(n+1)=b;
a(2)=-(n/2-1)*delta;
y(1)=a(2)-delta/2;

for i=3:n;
    a(i)=a(i-1)+delta;
    y(i-1)=a(i)-delta/2;
end
y(n)=a(n)+delta;
dist=0;

for i=1:length(a)-1                                                                          
  name=['varnormal(x,',num2str(p1),',',num2str(p2),',',num2str(y(i)),')'];
  dist=dist+quad(name,a(i),a(i+1),tol);
end
y
dist

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55
%  书上的错误for i=1:n
 %   newfun=['(x-(',num2str(y(i)),')).^2.*',funfcn];
  %  dist=dist+eval(['quad(newfun,a(i),a(i+1),tol,',args]);
    
  %end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5  

⌨️ 快捷键说明

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