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

📄 elimone.m

📁 经典通信系统仿真书籍《通信系统与 MATLAB (Proakis)》源代码
💻 M
字号:
function [x, xmask] = elimone(x, xmask, h, w, n, maxbin)
%ELIMONE Eliminates a variable.(Utility function used by DFILDEMO).
%	Eliminates a variable and places it in the discrete set of 
%	variables that are not free to vary.    
xold = x; 
Fbest = -1e16; 
Fix = xmask(1);
ceilflag = 0;
for i = xmask 
	x = xold; 
	x(i)  = ceil(x(i));
	ht=abs(freqz(x(1:n), x(n+1:2*n), w));
	F = max(abs(h-ht));
	if F > Fbest  & roots(x(n+1:2*n)) < 1 
		Fix = i;
		Fbest = F; 
		ceilflag =1; 
	end

	x = xold; 
	x(i)  = floor(x(i));
	ht=abs(freqz(x(1:n), x(n+1:2*n), w));
	F = max(abs(h-ht));
	if F < Fbest & roots(x(n+1:2*n)) < 1 
		Fix = i;
		Fbest = F; 
		ceilflag = 0; 
	end
end 
x = xold; 
if ceilflag 
	x(Fix) = ceil(x(Fix)); 
else
	x(Fix) = floor(x(Fix)); 
end
xmask(find(xmask == Fix)) = [];

⌨️ 快捷键说明

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