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

📄 dtmf.cpp

📁 DTMF软解码C实现.rar
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		}

		// find max value of low freq
		for (low_freq = 0, i = 1; i < 4; i ++)
		{
			if (s_dtmf_real[i] > s_dtmf_real[low_freq])
			{
				low_freq = i;
			}
		}

		// find max value of high freq
		for (high_freq = 4, i = 5; i < 8; i ++)
		{
			if (s_dtmf_real[i] > s_dtmf_real[high_freq])
			{
				high_freq = i;
			}
		}

		// clean up for continuous decoding
		s_dtmf_p = 0;
		memset(s_dtmf_real, 0, 32);
		memset(s_dtmf_image, 0, 32);
		

		// combine low and high frequency and decode out dtmf code
		if ((low_freq == 0) && (high_freq == 4))
		{
			return '1';
		}
		else if ((low_freq == 0) && (high_freq == 5))
		{
			return '2';
		}
		else if ((low_freq == 0) && (high_freq == 6))
		{
			return '3';
		}
		else if ((low_freq == 0) && (high_freq == 7))
		{
			return 'A';
		}
		else if ((low_freq == 1) && (high_freq == 4))
		{
			return '4';
		}
		else if ((low_freq == 1) && (high_freq == 5))
		{
			return '5';
		}
		else if ((low_freq == 1) && (high_freq == 6))
		{
			return '6';
		}
		else if ((low_freq == 1) && (high_freq == 7))
		{
			return 'B';
		}
		else if ((low_freq == 2) && (high_freq == 4))
		{
			return '7';
		}
		else if ((low_freq == 2) && (high_freq == 5))
		{
			return '8';
		}
		else if ((low_freq == 2) && (high_freq == 6))
		{
			return '9';
		}
		else if ((low_freq == 2) && (high_freq == 7))
		{
			return 'C';
		}
		else if ((low_freq == 3) && (high_freq == 4))
		{
			return '*';
		}
		else if ((low_freq == 3) && (high_freq == 5))
		{
			return '0';
		}
		else if ((low_freq == 3) && (high_freq == 6))
		{
			return '#';
		}
		else if ((low_freq == 3) && (high_freq == 7))
		{
			return 'D';
		}
	}

	return	0;
}

⌨️ 快捷键说明

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