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

📄 gausssqnr.m

📁 一个关于射频的matlab程序.希望对大家有所帮助.
💻 M
字号:
% GAUSSSQNR  Function to calculate SQNR of A/D converter with Gaussian input
% 
%    GAUSSSQNR (L, MQL, STD) calculates the SQNR of an L-level A/D converter
%        with maximum quantization level 'MQL' and a Gaussian input with 
%        standard deviation 'STD'.  Answer is in dB.

function [SQNR] = GaussSQNR(L, MQL, STD);

L = round(L);
delta = 2 * MQL / (L - 1);
alpha = delta / STD;

if (iseven(L)),
	QNSR = 1 - 2/sqrt(2*pi)*alpha*(L-1)*exp(-(L/2-1)^2*alpha^2/2);
	QNSR = QNSR + (L-1)^2/4*alpha^2*erfc((L/2-1)*alpha/sqrt(2));

	for num = 0:(L/2-2),
   	QNSR = QNSR + alpha^2*(2*num+1)^2/4*(erf((num+1)*alpha/sqrt(2)) - erf(num*alpha/sqrt(2)));
   	QNSR = QNSR - 2/sqrt(2*pi)*alpha*(2*num+1)*exp(-num^2*alpha^2/2)*(1-exp(-alpha^2/2*(2*num+1)));
	end;
end;

if (isodd(L)),
	QNSR = 1 - 2/sqrt(2*pi)*alpha*(L-1)*exp(-L^2*alpha^2/8);
	QNSR = QNSR + (L-1)^2/4*alpha^2*erfc(L/2*alpha/sqrt(2));

	for num = 1:round(L/2-1/2),
   	QNSR = QNSR + alpha^2*num^2*(erf((num+1/2)*alpha/sqrt(2)) - erf((num-1/2)*alpha/sqrt(2)));
   	QNSR = QNSR + 4/sqrt(2*pi)*alpha*num*exp(-(num^2+1/4)*alpha^2/2)*(exp(-alpha^2/2*num)-exp(alpha^2/2*num));
	end;
end;

SQNR = 10*log10(1/QNSR);

⌨️ 快捷键说明

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